-
Notifications
You must be signed in to change notification settings - Fork 133
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
Revised EVP updated #184
Revised EVP updated #184
Conversation
We need to update the documentation for the new namelist. Does any testing need to change? |
Till and Mads, I just checked the PR you submitted for the revised EVP. I think it is fine. However, I don’t think there was a bug in the previous version. These are two valid formulations (see the pdf attached). They should lead to the same solution. The previous version is more in line with the standard EVP and the REVP in Lemieux2012 (called modified EVP at that time). I would suggest we use the new one as it is more in line with the recent literature (e.g. Kimmritz 2015, 2016). I tested both formulations in the gx3 config. For consistency, I set brlx=300 and arlx1i=1/300 in the old formulation. I was hopping to get the same solutions but I didn’t as both formulations did not converge (small errors though). It is my experience that it is not easy to get REVP to converge. I could test other values of brlx and arlx1i to see if I get convergence. Let me know if you agree with my conclusions. jf |
Hi Tony, I will make a few more tests before we update the documentation. I will let you know. jf |
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 change needs to be accompanied with a new member of our test suite, which demonstrates how different it is from the standard EVP configuration. I'd also like to see the results run through the QC process. Since this is (or at least I consider it a) bug fix, I think we SHOULD merge it, but I'd like to have more information about what the changes look like. Also, JF promised some documentation updates.
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.
We need two things for this PR:
- Check the documentation to make sure that it's up to date with these changes. It might be fine, but if the equations changed then let's get them right. We probably do need to reference Kimmritz et al.
- Create a test for this, for our test suites. Are the default parameter settings the ones we need to use? Are they resolution dependent?
Hi everyone, I made more tests to understand why the revised evp does not converge while others (e.g. Kimmritz et al) claim that it does. To be more in line with Kimmritz et al I made some tests with kstrength=0 (with Pstar) and I also increased puny from 1e-11 to 2e-9 so that it is consistent with other VP models. Whatever I tried it never converged. In fact the only test that seemed to converge was when I decreased Pstar by two orders of magnitude. Here is some info about my experiments (for each of these I ran the model for one day with either ndte=25000 or ndte=20000 and subtracted the two thickness fields). dhmax is the maximum (absolute) thickness difference. Note that history_avg=true. run1 dhmax=8.73e-5 m run2 dhmax=6.12736e-5 m run3 dhmax=9.5367e-7 m run4 dhmax=2e-10 m run5 dhmax=5.54323e-5 m run6 dhmax=1.37568e-4 m run7 dhmax=8.97646e-5 m run8 dhmax= 3.07798e-4 m run9 dhmax= 8.91685e-5 m my directory for the experiments: /users/dor/armn/jfl/local1/REVP_17oct2018/ |
Ok I will take care of comparing against the standard evp and update the documentation. |
Mads, I wanted to clone again the code for this PR to make some final tests. The revp branch code does not compile anymore (I think because some of the code in this branch might have changed since the PR). Could you please add your REVP changes to the current master code and submit a new PR (or resubmit this one) so that I can make these tests? Thanks |
Revised EVP parameters, according to Kimmirtz, Danilov and Losch, 2015
Developer(s): Till Rasmussen and Mads Hvid Ribergaard, DMI
Please suggest code Pull Request reviewers in the column at right.
Elisabeth?, Tony?
Are the code changes bit for bit, different at roundoff level, or more substantial?
With conservative settings - AND revised_evp=.false. - it should output Bit-for-bit identical.
With revised_evp=.true. the settings has changed. Therefore obvious NOT bit-to-bit identical
Is the documentation being updated with this PR? (Y/N) N
If not, does the documentation need to be updated separately at a later time? (Y/N) ??
Note: "Documentation" includes information on the wiki and .rst files in doc/source/,
which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/.
Other Relevant Details:
affected files:
./cicecore/cicedynB/dynamics/ice_dyn_evp.F90
./cicecore/cicedynB/dynamics/ice_dyn_shared.F90 (for namelist)
./cicecore/cicedynB/general/ice_init.F90 (for namelist)
Namelist (these are the default values, ONLY relevant for revised_evp=.true.):
&dynamics_nml
brlx = 300.0
arlx1i = 1.0/300.0
NOTE: The values for "brlx and arlx1i" are overwritten in ice_dyn_shared for revised_evp=.false.
Have tested identical md5sum's for 24 iterations with GX3 using "revised_evp=.false.".
GNU compiler (Cray XT50) with the following FFLAGS:
FFLAGS := -g -O0 -fsignaling-nans -fno-reciprocal-math -ftrapping-math -fno-associative-math -fno-unsafe-math-optimizations