-
Notifications
You must be signed in to change notification settings - Fork 130
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
Njeffery debug zbgc3 d #207
Njeffery debug zbgc3 d #207
Conversation
Adds missing namelist fields. Also added gx1 tests for zbgc (bgc,bgcgx1) and skl (bgcskl,sklgx1) Required nutrient forcing filenames are hard coded (nitrate_climatologyWOA_gx1v6f.nc and silicate_climatologyWOA_gx1v6f.nc) Namelist field bgc_data_dir needs to be properly specified. Note *gx1 zbgc test is really slow and fails on wolf*
Corrected blocks in ice_forcing_bgc.F90 Moved bgc initializations in CICE_InitMod. Uncommented some necessary parameter definitions related to bgc in init_zbgc.
travis is failing because ftp is down for semi-annual maintenance. I will trigger the travis build again once the ftp site is back up. |
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.
Just a couple quick comments. It looks like there are some indentation issues. Can you check that you are not using tabs. Second, it looks like this needs to updated to master. Last week we merged the tracer cpps changes onto master and those are now namelist and not cpps, both cice.settings and ice_in have changed and that needs to be reflected in the set_env and set_nml files. Sorry about that. If you need any help, let me know.
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into njeffery_debugZbgc3D
@njeffery: nslyr=5 for the bgcISPOL and bgcNICE cases. Is that correct? |
I've updated the environment and namelist files for dynamic allocation changes in the code, and smoke-tested bgcgx1 and sklgx1 -- they pass, but I have not looked at actual results yet. |
Elizabeth,
Snow layers? I think I've only run with 1.
n
…________________________________
From: Elizabeth Hunke <notifications@github.com>
Sent: Wednesday, October 17, 2018 11:35:09 AM
To: CICE-Consortium/CICE
Cc: Jeffery, Nicole; Mention
Subject: Re: [CICE-Consortium/CICE] Njeffery debug zbgc3 d (#207)
@njeffery<https://github.com/njeffery>: nslyr=5 for the bgcISPOL and bgcNICE cases. Is that correct?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#207 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AH1K6mdxo90Lc_-Bpkmdy3bSknsdlWQlks5ul2pNgaJpZM4XaV11>.
|
That's what I thought. I'll fix this. |
base_suite results are here: |
Should I run a full test suite on conrad with 4 compilers? Is now a good time or is there still work to do? Just let me know if that is desired and when. |
This branch seems to be working, from a testing standpoint. I have not checked the actual test output to see if the tests are doing reasonable things, only that they pass the new bgc tests now available in base_suite. |
We might not want to keep all of these new bgc tests, especially since a few of them take a while to run. |
@apcraig I think it would be helpful to run the tests on conrad now, since this part of the code hasn't really been subject to that level of testing yet. |
I tested on conrad and 4 compilers and everything is fine EXCEPT the new bgc cases. sklgx1 and bgcgx1 both fail. The main reason is the input data. The filenames are hardwired in the code and are not consistent with the data in the consortium, ../../cicecore/cicedynB/general/ice_forcing_bgc.F90: nit_file = trim(bgc_data_dir)//'nitrate_climatologyWOA_gx1v6f.nc' while the data files in the consortium tar file have _20150107 in the filename. These filenames have to be moved to namelist! Second, the bgc_data_dir is also hardwired to a path on some machine. This has to be generalized. I think the right change is to add bgc_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1/WOA/MONTHLY/' in set_nml.gx1 and to remove the bgc_data_dir setting in set_nml.sklgx1 and set_nml.bgcgx1. Finally, I do not believe the sklgx1 and bgcgx1 need to be tied to the gx1 resolution. We should be able to move the data_dir and data filenames to set_nml.gx1 and the for the skl and bgc to NOT be grid dependent. I also prefer if the set_nml files be prepended with bgc. So something like set_nml.bgcskl or something like it would be good. I can test again or even help with the implementation of these changes if you like. Just let me know. |
add fsal. Testing them both now.
…________________________________
From: Elizabeth Hunke <notifications@github.com>
Sent: Thursday, October 18, 2018 2:59:17 PM
To: CICE-Consortium/CICE
Cc: Jeffery, Nicole; Mention
Subject: Re: [CICE-Consortium/CICE] Njeffery debug zbgc3 d (#207)
Chatting with @njeffery<https://github.com/njeffery> --
She suspects that f_doc is not being passed properly. That could be causing initialization problems, seg faults, etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#207 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AH1K6qNAcNWHaB7hLWOYtNddq4r_-BHcks5umOulgaJpZM4XaV11>.
|
I changed the options files for bgc. ISPOL and NICE are appropriate for testing Icepack but not CICE, so those options files have been removed. There is still an 'ISPOL' forcing option in the code but the Consortium does not have the necessary data files. I created bgcsklclim and bgczclim option files for use with the gx1 grid (the 'clim' option is only available for gx1) and set the bgc data_types to 'default' in the bgcskl and bgcz option files, for use with either gx3 or gx1. The new tests in base_suite all pass for me, except the one which is commented out -- it does a comparison that is not BFB. Comparing the diagnostic output is interesting, maybe this provides some clues for what's going on with the roundrobin cases? or maybe not. I don't understand why the distribution type is different! Of course, I'm probably doing something stupid, assigning 4x1 and 'thread'......
Note that I attempted to fix the problem with the gx1 ocean forcing file in this PR but didn't test it. |
" ", "0", "15 minutes (default)", " " | ||
" ", "1", "59 minutes", " " | ||
" ", "2", "2 hours", " " | ||
" ", "other N$<$8", "N hours", " " |
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.
Should be:
" ", "other :math:2 < N < 8
", "N hours", " "
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.
The block of math text is set off with the ` on either side. Just to be clear. Same comment for below.
"ICE_ACCOUNT", " ", "batch account number", "set by cice.setup, .cice_proj or by default" | ||
"ICE_QUEUE", " ", "batch queue name", "set by cice.setup or by default" | ||
"ICE_THREADED", "true,false", "force threading in compile, will always compile threaded if NTHRDS is gt 1", "false" | ||
"ICE_THREADED", "true, false", "force threading in compile, will always compile threaded if NTHRDS is gt 1", "false" |
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.
Should be:
"ICE_THREADED", "true, false", "force threading in compile, will always compile threaded if ICE_NTHRDS :math:> 1
", "false"
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.
Just two minor errors in the user guide documentation. I tested these offline with my sphinx build and the suggestions I request fix the format.
"ICE_ACCOUNT", " ", "batch account number", "set by cice.setup, .cice_proj or by default" | ||
"ICE_QUEUE", " ", "batch queue name", "set by cice.setup or by default" | ||
"ICE_THREADED", "true,false", "force threading in compile, will always compile threaded if NTHRDS is gt 1", "false" | ||
"ICE_THREADED", "true, false", "force threading in compile, will always compile threaded if ICE_NTHRDS :math: > 1", "false" |
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.
You'll have to add ` signs around the >1 (this didn't render before in my comment, sorry!)
" ", "0", "15 minutes (default)", " " | ||
" ", "1", "59 minutes", " " | ||
" ", "2", "2 hours", " " | ||
" ", "other :math: 2 < N < 8", "N hours", " " |
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.
You'll have to add signs around the 2<N<8 (this didn't render before in my comment, sorry! If I do it in the comment it formats it instead of showing characters. See
2<N<8`)
trying again... is this better? |
Yes, that is perfect. :) |
@eclare108213 : I've added the missing bgc paramters. Ran a 10 week test with bgcz on the gx3 that passed. |
I just ran the bgc tests on conrad with 4 compilers, hash acbd01a at https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks. The results are better. The cray compiler fails all cases with errors like
The pgi cases fails with an error message,
The intel case fails with an undefined seg fault,
The gnu case fails with a seg fault in what seems to be a threaded region, although not totally sure,
The first step might be to fix the cray errors as those are clearly pointing at something concrete. Maybe the others fix too? At some point, we can also turn on debugging and test with/without openmp/mpi for a few cases to see if that provides any extra clues, although I'm not sure we're quite there yet. |
base_suite test results are here: |
My abcd01a tests also compiled and ran as advertised. @apcraig your errors look like a configuration problem to me, like maybe the namelist isn't getting read correctly so array allocations aren't being made. This could conceivably happen due to our having multiple, redundant namelist options for tracers, although the code checks at initialization ought to catch inconsistencies. |
Update history field control, place control logicals inside init and accum subroutines for consistency. Fix some indent issues in history subroutines. Comment out OMP loop that was causing problems on conrad_cray. Fix intent inout arguments in ice_forcing_bgc.F90, init_bgc_data for fed1, fep1. Modify ice_arrays_column so more variables are dynamically allocated using icepack query routines.
… into njeffery_debugZbgc3D
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.
base_suite passes on pinto: https://github.com/CICE-Consortium/Test-Results/wiki/9f47dacbd0.pinto.intel.181026.131608
I did not check whether answers change compared with master. If they do not, then I'm in favor of merging this and then moving forward with additional PRs as needed.
I have updated the test results from last night. 4 tests are still in the queue for some strange reason, but otherwise, everything is running, passing, and bit-for-bit. hash 9f47dac, https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks. I will merge the PR now. |
@eclare108213 : zbgc now runs and passes the gx1 test. I needed to increase the queue time to 2 hours.
Corrected blocks in ice_forcing_bgc.F90
Moved bgc initializations in CICE_InitMod.
Uncommented some parameter definitions related to bgc in init_zbgc.
Completed test successfully with flags -g gx1 -m wolf -e intel -s bgcgx1 -p 32x1