-
Notifications
You must be signed in to change notification settings - Fork 92
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
History output refactor broke nag #123
Comments
ugg, will look into this |
Merge branch 'rgknox-CLMLink' This changegroup is the first of two parts to convert the contents of EDCLMLinkMod into the interface. Notable changes in this part: 1) SummarizeNetFluxes and ED_BGC_Carbon_Balancecheck are refactored to use FATES memory structure 2) history output variables in SummarizeNetFluxes and ED_BGC_Carbon_Balancecheck are migrated to the new scheme 3) restart variables in EDCLMLinkMod are migrated to EDRestVectorMod Code review: rgknox Testing: rgknox: Test suite: ed, clm_short_45, clm_short_50 - lawrencium-lr3 intel ed - yellowstone pgi, gnu, intel Test baseline: 0c8090b (rgknox-HIO) Test namelist changes: none Test answer changes: b4b Test summary: all PASS with expected fails for gnu compiler comparing clm history baselines, #122, fixed in #124: SMS_Ld5.f19_g16.ICLM45ED.yellowstone_gnu.clm-edTest SMS_Ld5.f10_f10.ICLM45ED.yellowstone_gnu.clm-edTest andre: Test suite: ed, clm_short - yellowstone gnu, intel, pgi Test baseline ed: 9f2b41c Test baseline clm_short: clm4_5_12_r193 Test namelist changes: none Test answer changes: b4b Test summary: all tests pass Test suite: hobart-nag - not run, #123
from Fortran 2008 (C.9.4, see also 12.5.2.4)
Fortran 2003, 4.5.3, R441, component attr spec of a derived type:
Fortran 2003, 12.4.1.2
So, my interpretation of the fortran standard is that: if a dummy arg to a procedure, e.g. set_dim_ptrs, dim_target, is a target, then the actual arg must be a target. Declaring a something as a component of a derived type, a single component can not be a target, the instance of the entire derived type must be a target. In the context of the history IO, tracing up through the function calls and nested derived types, the actual instance is the hlm_fates_interface_type, clm_fates, created in clm_instMod.F90. Setting clm_fates to be a target in clm_instMod.F90 does not fix this problem. So either there is some other problem, or nag is getting confused.... The target attribute is largely used by the compiler to control (reduce?) optimization done on those objects. It's a bit uncomfortable that the entire clm_fates object must be a target just to have a few pointers to simple structs. Given the general confusion and maintenance problems with pointers, I think it would be a better use of time to refactor the history io to use an object oriented approach with simple getters and setters instead of trying to straighten out the pointer issue. |
fixed and merged in 2ac7960 |
Merge branch 'rgknox-CLMLink' This changegroup is the first of two parts to convert the contents of EDCLMLinkMod into the interface. Notable changes in this part: 1) SummarizeNetFluxes and ED_BGC_Carbon_Balancecheck are refactored to use FATES memory structure 2) history output variables in SummarizeNetFluxes and ED_BGC_Carbon_Balancecheck are migrated to the new scheme 3) restart variables in EDCLMLinkMod are migrated to EDRestVectorMod Code review: rgknox Testing: rgknox: Test suite: ed, clm_short_45, clm_short_50 - lawrencium-lr3 intel ed - yellowstone pgi, gnu, intel Test baseline: 0c8090b (rgknox-HIO) Test namelist changes: none Test answer changes: b4b Test summary: all PASS with expected fails for gnu compiler comparing clm history baselines, #122, fixed in #124: SMS_Ld5.f19_g16.ICLM45ED.yellowstone_gnu.clm-edTest SMS_Ld5.f10_f10.ICLM45ED.yellowstone_gnu.clm-edTest andre: Test suite: ed, clm_short - yellowstone gnu, intel, pgi Test baseline ed: 9f2b41c Test baseline clm_short: clm4_5_12_r193 Test namelist changes: none Test answer changes: b4b Test summary: all tests pass Test suite: hobart-nag - not run, #123
Merge branch 'rgknox-CLMLink' This changegroup is the first of two parts to convert the contents of EDCLMLinkMod into the interface. Notable changes in this part: 1) SummarizeNetFluxes and ED_BGC_Carbon_Balancecheck are refactored to use FATES memory structure 2) history output variables in SummarizeNetFluxes and ED_BGC_Carbon_Balancecheck are migrated to the new scheme 3) restart variables in EDCLMLinkMod are migrated to EDRestVectorMod Code review: rgknox Testing: rgknox: Test suite: ed, clm_short_45, clm_short_50 - lawrencium-lr3 intel ed - yellowstone pgi, gnu, intel Test baseline: 0c8090b (rgknox-HIO) Test namelist changes: none Test answer changes: b4b Test summary: all PASS with expected fails for gnu compiler comparing clm history baselines, #122, fixed in #124: SMS_Ld5.f19_g16.ICLM45ED.yellowstone_gnu.clm-edTest SMS_Ld5.f10_f10.ICLM45ED.yellowstone_gnu.clm-edTest andre: Test suite: ed, clm_short - yellowstone gnu, intel, pgi Test baseline ed: 9f2b41c Test baseline clm_short: clm4_5_12_r193 Test namelist changes: none Test answer changes: b4b Test summary: all tests pass Test suite: hobart-nag - not run, #123
Summary of Issue:
The merge of history output refactor, a6fec29, broke running the master branch with nag.
Expected behavior and actual behavior:
Expected behavior compile and run with nag.
Actual behavior, run time error:
Steps to reproduce the problem (should include create_newcase or create_test command along with any user_nl or xml changes):
What is the changeset ID of the code, and the machine you are using:
a6fec29
have you modified the code? If so, it must be committed and available for testing:
no
Screen output or output files showing the error message and context:
see above
The text was updated successfully, but these errors were encountered: