[[PageOutline]] Last edited [[Timestamp]] [[BR]] '''Author''' : Pierre Mathiot '''ticket''' : #1495 '''Branch''' : [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5151_UKMO_ISF dev_r5151_UKMO_ISF ] '''Review''' : wiki:ticket/1495/Review ---- === Description === All the fixes beneath concern only the ice shelf code and do not impact result and performance of non ice shelf configuration * Bug fixes in zgr_isf : one block change coastline every where * Performance fixes in sbc_isf : CALL statement out of a 2d loop + cleaning * Performance fixes in zpshde_isf: too much variables computed. I reduce the number used for isf to the same number used for noisf (bottom case) * Performance fixes in hpg_isf : Simplification of the pressure gradient scheme to be as simple as for the bottom (hpg_sco) * Bug fixes in zdfbfr : top friction initialisation missing (already reported in the trunk) * Change definition of mixed layer depth beneath ice shelf in order to simplify ldfslp and traldf_iso * Bug fixes in ldfslp + change according to previous point * umask_i is not an interior mask, change it to ssumask (same on v, f)=> done * Bug fixes in many routine: conservation issue (based on work of Jerome on runoff). Already reported in the trunk * Namelist change : remove option rn_divisf (always applied ice shelf melting as a volume flux), define ln_isf in namsbc as ln_rnf. Move nn_isf to namsbc_isf. === At this stage: === * no change in result without ice shelf. * result of ISOMIP configuration changed due to bug correction. ISOMIP result similar to the previous one and to Losch 2008 (after 28 years of simulation) ---- === Testing === Testing could consider (where appropriate) other configurations in addition to NVTK]. All the validation test are done with the version 3.6_STABLE at revision r5554. ||NVTK Tested||'''YES'''|| ||Other model configurations||'''YES (ePERIANT025)'''|| ||Processor configurations tested||37/35/836|| ||If adding new functionality please confirm that the [[BR]]New code doesn't change results when it is switched off [[BR]]and ''works'' when switched on||'''YES'''|| (Answering UNSURE is likely to generate further questions from reviewers.) 'Please add further summary details here' * Processor configurations tested * etc---- === Bit Comparability === ||Does this change preserve answers in your tested standard configurations (to the last bit) ?||'''YES (except for ISOMIP)'''|| ||Does this change bit compare across various processor configurations. (1xM, Nx1 and MxN are recommended)||'''YES'''|| ||Is this change expected to preserve answers in all possible model configurations?||'''YES (for untested possible configuration a flag is set up to false to stop the model)'''|| ||Is this change expected to preserve all diagnostics? [[BR]]!,,!''Preserving answers in model runs does not necessarily imply preserved diagnostics. !''||'''YES'''|| If you answered '''NO''' to any of the above, please provide further details: * Which routine(s) are causing the difference? * Why the changes are not protected by a logical switch or new section-version * What is needed to achieve regression with the previous model release (e.g. a regression branch, hand-edits etc). If this is not possible, explain why not. * What do you expect to see occur in the test harness jobs? * Which diagnostics have you altered and why have they changed?Please add details here........ ---- === System Changes === ||Does your change alter namelists?||'''YES'''|| ||Does your change require a change in compiler options?||'''NO'''|| If any of these apply, please document the changes required here....... {{{ !----------------------------------------------------------------------- &namsbc ! Surface Boundary Condition (surface module) !----------------------------------------------------------------------- ... ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) ln_isf = .false. ! ice shelf (T => fill namsbc_isf) ... }}} {{{ !----------------------------------------------------------------------- &namsbc_isf ! Top boundary layer (ISF) !----------------------------------------------------------------------- ... ! for all case nn_isf = 1 ! ice shelf melting/freezing ! 1 = presence of ISF 2 = bg03 parametrisation ! 3 = rnf file for isf 4 = ISF fwf specified ! option 1 and 4 need ln_isfcav = .true. (domzgr) ... }}} and in namsbc_isf ln_divisf was removed and in namsbc nn_isf was moved to namsbc_isf. ---- === Resources === ''Please ''summarize'' any changes in runtime or memory use caused by this change......'' Runtime diagnostic: Test with ORCA2LIM3 (SETTE configuration) 600 timesteps (error between 2 similar simulations ~30s): * Total CPU time in branch = 2584s (METO cluster) * Total CPU time in reference = 2588s (METO cluster) Test with ISOMIP (SETTE configuration): * Total CPU time in branch = 135s (288 steps, BAS cluster) | 468s (2400 steps, METO cluster) * Total CPU time in reference = 143s (288 steps, BAS cluster) | 506s (2400 steps, METO cluster) => difference of -5.6% (BAS cluster) | -7.6% (METO cluster) Memory diagnostic: Test in ORCA2LIM3 configuration (RSS memory): * 207644 in branch * 207580 in reference Test in ISOMIP configuration (RSS memory): * 98928 in branch * 99396 in reference ---- === IPR issues === ||Has the code been wholly (100%) produced by NEMO developers staff working exclusively on NEMO?||'''YES'''|| If No: * Identify the collaboration agreement details * Ensure the code routine header is in accordance with the agreement, (Copyright/Redistribution etc).Add further details here if required.......... === SVN command (merge) === merge at revision 5554 svn merge svn+ssh://mathiot@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2015/nemo_v3_6_STABLE