Skip to content
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

Update CICE for latest Consortium master #38

Merged
merged 29 commits into from
Sep 16, 2021

Commits on Jul 14, 2021

  1. Configuration menu
    Copy the full SHA
    e6bdf86 View commit details
    Browse the repository at this point in the history
  2. - Update Onyx port after significant Onyx system update (CICE-Consort…

    …ium#617)
    
    - Update unit test output and scripts to differentiate completed runs and successful testing better
    - sumchk is not passing on Onyx due to issues in the global reduction at real*16 and real*4.  This seems to be a software bug in mpich and a report has been issued to Onyx admins.
    apcraig authored Jul 14, 2021
    Configuration menu
    Copy the full SHA
    0489cfd View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. Fix 1x1 and 2x2 blocksize error (CICE-Consortium#618)

    - Fix 1x1 and 2x2 non-bit-for-bit results.  It turns out the 1x1 and 2x2 blocks were
      bit-for-bit physicallly.  The problem was that a set of blocks were "land block eliminated"
      near the equator incorrectly.  These blocks never have sea ice form, so it's not a problem
      scientifically, but it changes the masking and restart files.  The fix is a one line change
      in ice_domain.F90 which that sets the minimum "flat" value to 1.  This error could only
      happen in cases where the blocks were within 0.5 degrees of the equator, and a set of
      conditions were required where an active gridcell was set to inactive which then resulted
      in the entire block being eliminated.
    - Update the initialization of ARRAY_G in the gather_global_ext interfaces.  Get rid of
      older, more complex approach which left some blocks uninitialized.
    - Set psalt(n) to zero by default.  Was uninitialized in cases where vice=0.
    - Add a test to check bit-for-bit in log files for 1x1 blocks with bfbflag set to reprosum.
    apcraig authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    36799ec View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. Develop (CICE-Consortium#620)

    * port to gaea
    rgrumbine authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    a35724c View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2021

  1. Bug fixed 1d evp (CICE-Consortium#568)

    * Initialization of global HTE and HTN arrays with ghost cells on master task to avoid gathering constant arrays when running EVP 1D implementation. This solves issue with departure errors resulting from erroneous initialization of full land blocks in EVP 1D gathering. Correct initialization of remaining variables for full land blocks in EVP 1D gathering.
    
    * Reverted configuration/scripts/cice.batch.csh to resolve bad auto merge of file. Machine 'freya' was double in file.
    
    * Spell error corrected (CICE-Consortium#568 (comment)).
    
    * Redundant initializations to default values removed (CICE-Consortium#568 (comment)). @mhrib questions to default value settings removed.
    
    * Subroutine primary_grid_lengths_global_ext moved from ice_grid module to MPI and serial implementations of ice_boundary modules (CICE-Consortium#568 (comment)). Please note duplication of subroutine.
    
    * Added 1d solver to be fully integrated. Removed kevp=102 bypass.
    Clean up. Changed namelist parameter kevp to evp_algorithm
    
    * General cleanup of ice_dyn_evp_1d module (CICE-Consortium#568 (comment) and CICE-Consortium#568 (comment))
    
    * Modified documentation in order to comply with modifications of evp 1d
    
    * Uncommenting of numainit parallelization removed and domp_init moved before numainit to ensure correct initialization. Additional cleanup of code.
    
    * renamed set_nml.evp_algorithm to set_nml.evp1d
    added test to base test
    
    * rm set_nml.kevp102
    
    * Naming of variable se is not logical. Changed to sse which is the same
    as the global variable
    
    * Alignment of NUMA-aware array splitting between threads
    
    * Initialization of global HTE and HTN arrays with ghost cells on master task to avoid gathering constant arrays when running EVP 1D implementation. This solves issue with departure errors resulting from erroneous initialization of full land blocks in EVP 1D gathering. Correct initialization of remaining variables for full land blocks in EVP 1D gathering.
    
    * Reverted configuration/scripts/cice.batch.csh to resolve bad auto merge of file. Machine 'freya' was double in file.
    
    * Spell error corrected (CICE-Consortium#568 (comment)).
    
    * Redundant initializations to default values removed (CICE-Consortium#568 (comment)). @mhrib questions to default value settings removed.
    
    * Subroutine primary_grid_lengths_global_ext moved from ice_grid module to MPI and serial implementations of ice_boundary modules (CICE-Consortium#568 (comment)). Please note duplication of subroutine.
    
    * Added 1d solver to be fully integrated. Removed kevp=102 bypass.
    Clean up. Changed namelist parameter kevp to evp_algorithm
    
    * General cleanup of ice_dyn_evp_1d module (CICE-Consortium#568 (comment) and CICE-Consortium#568 (comment))
    
    * Modified documentation in order to comply with modifications of evp 1d
    
    * Uncommenting of numainit parallelization removed and domp_init moved before numainit to ensure correct initialization. Additional cleanup of code.
    
    * renamed set_nml.evp_algorithm to set_nml.evp1d
    added test to base test
    
    * rm set_nml.kevp102
    
    * Naming of variable se is not logical. Changed to sse which is the same
    as the global variable
    
    * Alignment of NUMA-aware array splitting between threads
    
    * Fix bad scaling of calculation of tinyarea. Different order of multiplication causes small differences in result
    
    * Fix evp 1d masking issues
    
    - There are relatively rare cases/gridcells where stress (tmask) and stepu (umask) are advanced
    without the other.  The 1d evp implementation was not addressing this issue, so skiptcell was added
    to the 1d evp (similar to skipucell) to mask out cells separately for stress and stepu.  This
    fixed a few non bit-for-bit cases in testing.
    
    - Cleaned up some indentation and other minor issues in 1d evp.
    
    - Updated the evp_algorithm log output in ice_init.
    
    * Some minor revisions in the documentation as suggested by @apcraig (CICE-Consortium#568 (review)) plus some additional minor spelling corrections.
    
    Co-authored-by: Stefan Rethmeier <str@dmi.dk>
    Co-authored-by: Till Rasmussen <tar@11glvp2.usr.local>
    Co-authored-by: Stefan Rethmeier <stefan@rethmeier.dk>
    Co-authored-by: apcraig <anthony.p.craig@gmail.com>
    5 people authored Aug 5, 2021
    Configuration menu
    Copy the full SHA
    0ccdea1 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2021

  1. Fix history features

    - Fix bug in history time axis when sec_init is not zero.
    - Fix issue with time_beg and time_end uninitialized values.
    - Add support for averaging with histfreq='1' by allowing histfreq_n to be any value
      in that case.  Extend and clean up construct_filename for history files.  More could
      be done, but wanted to preserve backwards compatibility.
    - Add new calendar_sec2hms to converts daily seconds to hh:mm:ss.  Update the
      calchk calendar unit tester to check this method
    - Remove abort test in bcstchk, this was just causing problems in regression testing
    - Remove known problems documentation about problems writing when istep=1.  This issue
      does not exist anymore with the updated time manager.
    - Add new tests with hist_avg = false.  Add set_nml.histinst.
    apcraig committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    441f693 View commit details
    Browse the repository at this point in the history
  2. revert set_nml.histall

    apcraig committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    15763d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2021

  1. fix implementation error

    apcraig committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    b3364a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    96d5851 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2021

  1. Advanced snow physics driver (CICE-Consortium#621)

    * initial snow redist/metamorph tracer implementation (no physics)
    
    * add rhosmin, snwlvlfac to namelist, change init_snow to init_snowtracers
    
    * updating format labels due to changes in Consortium master
    
    * add calls to new snow physics routines
    
    * update_state after step_snow
    
    * fix optional in update_state
    
    * wrap step_snow and update_state with tr_snow conditional
    
    * snow interactions with thermo (except dEdd)
    
    * conflict warning
    
    * adding snwgrain namelist flag
    
    * use snwredist=bulk instead of 30percent, fix array errors, init snow tracer values, add namelist flags to ice_in
    
    * aging lookup table for dry metamorphism (version for testing)
    
    * add/clean up diagnostics, begin debugging restart implementation
    
    * fixing restarts
    
    * add snow tests to base_suite
    
    * add history; minor cleanup
    
    * fix step_therm1 interface
    
    * io fixes for snow1
    
    * bug fix for snow diagnostics
    
    * fix line continuation
    
    * refactor bgc diagnostics as in Icepack
    
    * add snowtable implementation
    
    * cleaning up snow test options
    
    * send rsnw tracer to dEdd; initialize snow tracers; update -s options for snow
    
    * broadcast new snow diagnostics
    
    * new snow tests require 5 snow layers and therefore can not start from standard initial condition files with nslyr=1
    
    * update icepack
    
    * use local variable for rsnow to prevent array out-of-bound error; cleanup
    
    * updating documentation and some code comments
    
    * documentation:  index
    
    * fix history output; include but comment out code for averaging based on snow presence; set rsnw_fall in ice_in for default dEdd and include relevant snow parameters in options files; update doc; clean up
    
    * minor cleanup, especially documentation
    
    * update icepack
    
    Co-authored-by: Andrew Roberts <afroberts@lanl.gov>
    Co-authored-by: Elizabeth Hunke <eclare@pn2003333.lanl.gov>
    Co-authored-by: apcraig <anthony.p.craig@gmail.com>
    4 people authored Aug 12, 2021
    Configuration menu
    Copy the full SHA
    2a692af View commit details
    Browse the repository at this point in the history
  2. Fix QC issues

    - Add netcdf ststus checks and aborts in ice_read_write.F90
    - Check for end of file when reading records in ice_read_write.F90 for
      ice_read_nc methods
    - Update set_nml.qc to better specify the test, turn off leap years since we're cycling
      2005 data
    - Add check in c ice.t-test.py to make sure there is at least 1825 files, 5 years of data
    - Add QC run to base_suite.ts to verify qc runs to completion and possibility to use
      those results directly for QC validation
    - Clean up error messages and some indentation in ice_read_write.F90
    apcraig committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    7b5c2b4 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2021

  1. Update testing

    - Add prod suite including 10 year gx1prod and qc test
    - Update unit test compare scripts
    apcraig committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    c5794b4 View commit details
    Browse the repository at this point in the history
  2. update documentation

    apcraig committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    eaa3c3a View commit details
    Browse the repository at this point in the history
  3. reset calchk to 100000 years

    apcraig committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    e31ce7e View commit details
    Browse the repository at this point in the history
  4. update evp1d test

    apcraig committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    83068c7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3fd897e View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2021

  1. update icepack

    DeniseWorthen committed Aug 15, 2021
    Configuration menu
    Copy the full SHA
    4373d3d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    71f4fe6 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2021

  1. Fix QC test, fix bug in history time axis, fix history output averagi…

    …ng for timestep output (CICE-Consortium#624)
    
    * Fix history features
    
    - Fix bug in history time axis when sec_init is not zero.
    - Fix issue with time_beg and time_end uninitialized values.
    - Add support for averaging with histfreq='1' by allowing histfreq_n to be any value
      in that case.  Extend and clean up construct_filename for history files.  More could
      be done, but wanted to preserve backwards compatibility.
    - Add new calendar_sec2hms to converts daily seconds to hh:mm:ss.  Update the
      calchk calendar unit tester to check this method
    - Remove abort test in bcstchk, this was just causing problems in regression testing
    - Remove known problems documentation about problems writing when istep=1.  This issue
      does not exist anymore with the updated time manager.
    - Add new tests with hist_avg = false.  Add set_nml.histinst.
    
    * revert set_nml.histall
    
    * fix implementation error
    
    * update model log output in ice_init
    
    * Fix QC issues
    
    - Add netcdf ststus checks and aborts in ice_read_write.F90
    - Check for end of file when reading records in ice_read_write.F90 for
      ice_read_nc methods
    - Update set_nml.qc to better specify the test, turn off leap years since we're cycling
      2005 data
    - Add check in c ice.t-test.py to make sure there is at least 1825 files, 5 years of data
    - Add QC run to base_suite.ts to verify qc runs to completion and possibility to use
      those results directly for QC validation
    - Clean up error messages and some indentation in ice_read_write.F90
    
    * Update testing
    
    - Add prod suite including 10 year gx1prod and qc test
    - Update unit test compare scripts
    
    * update documentation
    
    * reset calchk to 100000 years
    
    * update evp1d test
    apcraig authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    26d917a View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2021

  1. Configuration menu
    Copy the full SHA
    aeb473a View commit details
    Browse the repository at this point in the history
  2. update icepack

    DeniseWorthen committed Aug 20, 2021
    Configuration menu
    Copy the full SHA
    aade124 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2021

  1. Configuration menu
    Copy the full SHA
    397b4bd View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2021

  1. Fix history single/double precision issues (CICE-Consortium#628)

    * Fix history single/double precision issues
    
    - Fix io_netcdf.  Double precision output was passed thru a single precision variable
      before writing so the precision in the output was lost.  This is now fixed.  Single
      and double precision netcdf output now reflects the internal model data correctly.
    
    - Fix io_pio2.  Single precision output with pio2 was producing garbage for both netcdf
      and pnetcdf cases.  This is not the case with pio1.  Several changes were needed.
      - The iodesc initialization has to differentiate single or double target variables
      - The write_darray has to explicitly send a single or double array
    
    - Migrated to spval_dbl fills everywhere data is a double type, mostly in ice_history.F90.
    
    - Created a ice_write_hist_fill method in both io_netcdf and io_pio2 to improve reuse.
    
    Ran io_suite on cheyenne and checked that values are produced correctly for each case.
    
    * update formatting
    apcraig authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    cb7d616 View commit details
    Browse the repository at this point in the history
  2. update icepack

    DeniseWorthen committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    a1b3375 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7d2139c View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2021

  1. Update gx1prod, Icepack, version number (CICE-Consortium#629)

    * update gx1prod, update version number to 6.3
    
    * update Icepack
    
    * update gx1prod15 to start at 1995
    apcraig authored Sep 1, 2021
    Configuration menu
    Copy the full SHA
    6e89728 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd021b5 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2021

  1. fix rhoa when lowest_temp is 0.0

    * provide default value for rhoa when imported temp_height_lowest
    (Tair) is 0.0
    * resolves seg fault when frac_grid=false and do_ca=true
    DeniseWorthen committed Sep 15, 2021
    Configuration menu
    Copy the full SHA
    5cb78cd View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2021

  1. Configuration menu
    Copy the full SHA
    d0a45a2 View commit details
    Browse the repository at this point in the history