Update CICE to Consortium master#32
Merged
DeniseWorthen merged 36 commits intoJul 20, 2021
Merged
Conversation
* Initial refactor of time manager - nyr, month, mday, sec are the new time manager prognostic variables - time is renamed to timesec and is a diagnostic, not prognostic variable - remove time_forc, was not needed or being used anyway - refactor ice_calendar, use calendar_type to define calendar after initialization - add several new subroutines to ice_calendar including - advance_time = handles advancing the model a timestep - calendar_compute_elapsed_days = compute elapsed days since 0000-01-01 - calendar_compute_days_between = compute days between two yyyy-mm-dd dates - calendar_set_date_from_timesecs = support conversion of timesecs to date for binary restarts - calendar = same behavior as old method, just no more argument - add month_init, day_init, sec_init, and npt_unit to namelist - this is bit-for-bit with f5f487f on cheyenne with full test suite, manual checks of log files were done to verify. restart files are not identical due to changes in files saved - old restarts should be backwards compatible - to advance the model a timestep, call advance_time() or update nyr, month, mday, sec and call calendar(). subroutine calendar() will adjust the date values as needed (for instance, adding a million seconds to sec). * Add unit test for calendar * refactor ice_calendar and update calchk unit test * update calchk unit test * update compare scripts to support unit tests * Add calc_timesteps to compute timesteps from npt and npt_unit Modify set_nml.run* to use new npt_unit and npt Add calc_timesteps test to calchk unit test Update standalone model to call calc_timesteps during initialization and after restarts are read * Update JRA55_data implementation Update computation of fyear to support cycling correctly with new definition on nyr Modify restart run lengths to be days instead of timesteps Add debugging to ice_forcing.F90 Add timer for forcing * clean up merge from master and recent changes * update documentation and add timer to serial ice_timers.F90 * Update CICE for coupling with RASM with new time manager - Update drivers/mct/cesm1/CICE_InitMod.F90 and CICE_RunMod.F90 - use advance_timestep - get rid of use of time variable, shift to nyr, month, mday, sec - update calendar call - update usage of year_init - Add section in user guide about coupling with new time manager - Fix stuff unrelated to time manager - Fix bug in wght_file diagnostic in ice_domain.F90, was written before defined - Fix bug in bathymetry settings when max kmt is greater than hardcoded 40 levels - Add a few missing namelist variables recently added to documentation * clean up old code * update documentation * update ice_calendar comments * update time manager documentation in dg_dynamics * update history restart documentation * Update prognostic calendar variables to myear, mmonth, mday, msec. They were nyr, month, mday, sec. The "m" in front means model and it creates more unique names in the source code than year, month, day, sec which can be hard to grep for because there are so many matches.
…ICE-Consortium#576) * use cell-centered ice velocity for high-freq wind stress calculation * turn on dynamics for alt01 tests, update docs
* Fix reading of SOM forcing file. * Remove some debugging * Add oceanmixed_ice test case. * Move alloc_forcing call * Add ICE_MACHINE_INPUTDATA to set_nml.ml * Actually fix conflicts * Actually fix conflicts * Actually fix conflicts * Actually fix conflicts * Update filename and location for ocean forcing
* CICE_RunMod: query 'Lsub' from Icepack When CICE is compiled with the 'CICE_IN_NEMO' CPP macro, and 'calc_Tsfc' is false, ice_step::coupling_prep calls CICE_RunMod::srcflux_to_ocn to transfer heat fluxes on ice-free grid points to the ocean. The calculation in srcflux_to_ocn uses the Icepack parameter 'Lsub', but without declaring this variable nor querying it from Icepack, which results in a compile-time failure when using the standalone driver with 'CICE_IN_NEMO' defined. Fix that by correctly declaring 'Lsub' and querying it using the Icepack interface. * ice_flux: remove 'CICE_IN_NEMO' CPP around sst initialization In subroutine 'init_coupler_flux', the initialization of the 'sst' array to 'Tf' is protected by a '#ifndef CICE_IN_NEMO' preprocessor directive. This has been the case since CICE-Consortium/CICE-svn-trunk@151b9af (cice-4.0~17, 2008-04-28), though that commit does not explain why. This is probably because in some conditions (depending on active CPPs at NEMO compilation time, as well as NEMO namelist parameters), the SST needs to be passed early to CICE, before calling CICE_Initialize (see the CICE coupling interface in NEMO [1]), and initializing it to 'Tf' in 'init_coupler_flux' would erase the values already passed from the ocean. If however the SST is *not* passed to CICE before CICE_Initialize is called, and 'CICE_IN_NEMO' is in use, then 'ice_init::set_state_var' reads from the uninitialized 'sst' array when placing ice where the ocean surface is cold. In ECCC's in-house version of the coupling interface (sbc_ice_cice), extensive changes have been made to work around bugs in the original version and limitations due to the sequence in which CICE and NEMO fields are initialized, such that we manually call 'ice_init::init_state' a second time at the end of subroutine sbc_ice_cice::cice_sbc_init. To avoid using a uninitialized array, remove the '#ifdef CICE_IN_NEMO' around the initialization of the 'sst' array to 'Tf', so that it is always initialized. These values will anyway be replaced by the "correct" ones when init_state is called a second time in our in-house version. [1] http://forge.ipsl.jussieu.fr/nemo/browser/NEMO/releases/release-3.6/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90#L176 * Fix uninitialized values and an array bounds issue in spacecurve Picked up by testing with initialized snan and debug options in decomps Update test suite to add debug tests for multiple decomps * Fix several decomp bugs and add new decomp tests - Fix bug in ice_boundary fill in halo, was not taking into account padding correctly - Fix bug in ice_blocks for cases where the active size is 1 gridcell wide - Update ice_grid initialization to clean up prior workarounds. - Update some intel compilers to add -init=snan,arrays for debug builds - Add new tests to the decomp test suite including tests with debugging on, tests with the active size 1 gridcell wide, and tests with a single block that's bigger than the whole grid. * Update some uninitialized variables. Back off on some of the full debug compiler flags. * revert cheyenne_gnu compiler flags * add 1x1, 2x2, 3x3 block tests * add abort to default bathymetry if kmt gt nlevel * update bathymetry k/kmt calculation Co-authored-by: Philippe Blain <philippe.blain@canada.ca>
* Add JRA55 dataset tool Add configuration/tools/jra55_datasets directory and scripts Move convert_restarts to configuration/tools/cice4_restart_conversio Add tools section to the developer guide Update tested compiler versions Change "compliance" to "validation" in documentation when discussing QC testing. * update documentation
* ice_domain: revert changes to 'max_blocks' computation from fcbea1d (CICE-Consortium#377) In fcbea1d (Added DMI/nuopc driver and fixed ANGLET (CICE-Consortium#377), 2019-11-22), the computation in 'ice_domain::init_domain_blocks' that estimates 'max_blocks' if the value '-1' is given in the namelist was changed without explanations. The old computation was computing the number of blocks in the X and Y directions, taking any necessary padding into account (by substracting 1 to n[xy]_global, using integer division and adding 1), multiplying them to compute the total number of blocks, and integer-dividing by `nprocs` to estimate the number of blocks per processor. The new computation does a similar computation, but it's unclear what it is computing exactly. Since it uses floating point division and only casts the result to an integer at the end of the computation, it systematically computes a `max_blocks` value that is smaller than the old computation. This leads to a `max_blocks` value that is systematically too small for the cartesian decomposition when `block_size_x(y)` does not divide `nx(y)_global` evenly. Go back to the old computation. Also, adjust the documentation to make it clearer that it's possible that the `max_blocks` value computed by the model might not be appropriate. * ice_distribution: check 'max_blocks' is enough for all distributions The subroutines 'create_distrb_cart', 'create_distrb_rake' and 'create_distrb_spacecurve', in contrast to the other distribution-creating subroutines in module ice_distribution, do not check if the index they are about to access in the `blockIndex` array of the distribution they are creating is smaller then `max_blocks`. This results in an out-of-bound access when `max_blocks` is too small, and potential segementation faults. Add checks for these three distributions. Additionnally, for the cartesian distribution, compute the required minimum value for `max_blocks`, which can be done easily in this case, abort early, and inform the user of the required minimum value. * cicecore: add 'debug_blocks' namelist variable to debug block decomposition As mentioned in the documentation, subroutines 'ice_blocks::create_blocks' and 'ice_distribution::create_local_block_ids' can print block information to standard out if the local variable `dbug` is modified to ".true.". For convenience, replace these local variables with a namelist variable, 'debug_blocks', and add a 'cice.setup' option to activate this new variable in the namelist. Adjust the documentation accordingly. * ice_domain: improve 'max_blocks' computation The value of 'max_blocks' as currently computed can still be too small if the number of procs does not divide the number of blocks evenly. Use the same 'minus one, integer divide, plus one' trick as is done for the number of blocks in the X and Y directions in order to always compute a 'max_blocks' value that is large enough. This estimates the same value for 'max_blocks' as the 'cice_decomp.csh' script computes: @ bx = $nxglob / ${blckx} if ($bx * ${blckx} != $nxglob) @ bx = $bx + 1 @ by = $nyglob / ${blcky} if ($by * ${blcky} != $nyglob) @ by = $by + 1 @ m = ($bx * $by) / ${task} if ($m * ${task} != $bx * $by) @ m = $m + 1 set mxblcks = $m
…efault value (CICE-Consortium#586) * Update gx1 ic - update set_nml.gx1prod to match current production system - add apr 1 test case for gx1 - update landice tests, use gx1 - fix hmix default CICE-Consortium#585 - delete old code in ice_forcing.F90 (should have been done in earlier PR) * update gx1coreii initial condition * update icepack * add gx1 debug test, expected to fail * Update version number to 6.2.0 * Update gx3 and gx1 input filenames Update CI wget implementation CICE-Consortium#588 Create variable in ice_forcing.F90 called mixed_layer_depth_default and use it instead of c20 Fix bug in hourly output, created in time manager update CICE-Consortium#589 Set start year for all runs to 2005 and turn leap years on by default Update documentation in history output section to add information about hist_avg namelist, noted in CICE-Consortium#566 * update ic filenames, tests, and documentation * update color links in test results wiki * update hmix initialization
Fix error in gx1coreii initial condition filename Update conda macos Macros Add documentation about updating the conda environment
…ing (CICE-Consortium#597) * Remove hc_jday. Not used anymore after introducing of new ice_calendar * Calculate "hc_jday" inline using compute_days_between and _init fields from ice_calendar * Correct hcdate using "compute_days_between" * Remove unused variables from ice_calendar
Allow setting the ice surface roughness at the atmosphere interface, 'iceruf', in the CICE namelist. This makes it easier to modify this value.
…E-Consortium#602) * Update test coverage - add alt06 test, ncat=7, kcatbound=3, nslyr=3 - add bigdiag test with lots of diagnostic output, debug_model=true, debug_blocks=true, etc - add spiralcenter decomp test - add gx1 weightfile decomp test - add gbox180 with spacecurve decomp test to trigger Peano and Cinco decompositions - rename boxdyn to boxnodyn - modify boxslotcyl, turn off tr_lvl and tr_pond_lvl, changes answers - clarify boxadv, boxnodyn, boxrestore, explicitly set shortwave=ccsm3, albedo_type=constant - cleanup spacecurve implementation including debug flagging, recode print to write, module private, add printcurve for gridsize of 30, remove qsort and partition subroutines. - remove CICE_RunMod.F90_debug and migrate high level debug checks to CICE_RunMod.F90 with new debug_model namelist. Also add debug_model_step to specify at what timestep to start writing debug_model output. debug_model writes data for the first point specified by lonpnt, latpnt. - move debug_ice routine into ice_diagnostics.F90 and out of CICE.F90 - remove writeout_finished_file from CICE_Finalize in several drivers - deprecate print_points_state via an ifdef - rename l_stop in ice_transport_driver.F90 to ckflag. This looked like l_stop logic because of the naming but it isn't. - fix issue of size of fcontopn_d and fsurfn_d when ncat greater than 6 in init_coupler_flux. Would go out of bounds, now initializes fcontopn and fsurfn to 6th value for any category greater than 6. - rename dbug variable name in ice_forcing.F90 to forcing_diag and change namelist variable name. - update ice_distributionGet output and implementation to support more general arguments - add ice_distributionGet test in init_domain_distribution when debug_blocks is true. - fix bug in create_distrb_rake for 1d rake. add a test that triggers the 1d rake. - update debug flag in ice_distribution.F90 leverage debug_blocks. - update documentation. * - Deprecate IsLoadBalanced in ice_spacecurve - Update calchk to check 100,000 years - Update sectrobin decomp test to check land block elimination * update complog part of baseline script to report missing data as MISS instead of FAIL
…ines (CICE-Consortium#604) * Update the coverage implementation. The gcov/lcov tool occasionally generates false negatives or incorrect statistics with respect to coverage for Fortran 90 continuation lines (using "&"). In some cases, within a single continuation block, some lines have hits which are correctly counted while other lines have misses which are incorrect and also counted. This seems to be partly associate with the lcov -a feature that we use to aggregate multiple tests, but it also probably is ultimately created by gcov because it doesn't seem to handle skipped vs missed lines entirely consistently. With this modification, --coverage creates a temporary sandbox where the tests are run. Prior to running the tests, lcov_modify_source.sh is invoked. " ! LCOV_EXCL_LINE" (a special defined string in lcov) is added to the end of some source code lines to request that gcov exclude them. The lines excluded are Fortran 90 continuation lines. In all cases the first and last line of a continuation block and lines that continue after an "if" are never excluded. This seems to improve the accuracy of the coverage output overall. Several other attempts were made to modify the lcov and geninfo perl scripts to handle the Fortran90 continuation line filtering there without success, so this solution was implemented. * update documentation
* update to icepack master but set abort flag in ITD routine to false
* icepack: update to support staggered atmospheric levels In the following commit, we will add support for staggered atmoshperic levels, i.e. receiving the momentum and scalar atmospheric variables at different vertical levels. Icepack already supports this through optional arguments, so start by updating the icepack submodule. * cicecore: add support for staggered atmoshperic levels In order to support atmospheric input data given at different levels for winds and scalars, introduce a new array 'zlvs' in module ice_flux, and pass it down to 'icepack_atmo_boundary'. Initialize 'zlvs' to the same value as 'zlvl' (10 metres) so as not to change the standalone model answers.
…-Consortium#605) * drivers/hadgem3: add missing 'subname' and use existing 'subname's * drivers/hadgem3/CICE_InitMod: update 'init_lvl' call Add the required 'iblk' argument. * drivers/hadgem3/CICE_RunMod: remove uneeded 'dt' arguments The subroutines 'prep_radiation', 'zsal_diags', 'bgc_diags' and 'hbrine_diags' do not take a 'dt' argument anymore, so remove it. * drivers/hadgem3/CICE_RunMod: get 'Lsub' from Icepack * drivers/hadgem3/CICE_RunMod: remove 'da_state_update' subroutine This subroutine is inside an 'ICE_DA' CPP, which is not used in any configuration. Remove it. * drivers/hadgem3/CICE_RunMod: remove stray '+' This '+' sign was copy-pasted there in error in 29b99b6 (CICE: Floe size distribution (CICE-Consortium#382), 2019-12-07). Remove it. * drivers/hadgem3: remove obsolete 'check_finished_file' subroutine Remove the call to 'check_finished_file' as well as the definition of the subroutine, as the 'hadgem3' driver is not used on machine 'bering' and it's unclear if machine 'bering' still exists. * drivers/hadgem3: fix cice_init so it calls 'count_tracers' This was forgotten back in 8b0ae03 (Refactor tracer initialization (CICE-Consortium#235), 2018-11-16) * drivers/hadgem3/CICE_RunMod: add call to 'save_init' The hadgem3 driver was not updated when 'save_init' was added in 83686a3 (Implement box model test from 2001 JCP paper (CICE-Consortium#151), 2018-10-22). As this subroutine is necessary to ensure proper initialization of the model, add it now. * drivers/hadgem3/CICE_RunMod: tweak loop indices in 'coupling_prep' Other drivers use 'ilo,ihi' and 'jlo,jhi' here. Do the same. * drivers/hagdem3: update driver to new time manager * drivers/hadgem3: pass 'mpi_comm_opa' explicitely to init_communicate In 066070e (Fix minor issues in documentation, key_ CPPs, bfbcomp return codes (CICE-Consortium#532), 2020-11-23), the 'ice_communicate' module was updated to remove CPP macros relating to the OASIS coupler (key_oasis*) and to the NEMO ocean model (key_iomput). These CPPs were used to make the correct MPI communicator accessible to the 'init_communicate' subroutine. However, that subroutine already accepts an optional MPI communicator as argument and it was deemed cleaner to require the driver layer to explicitely pass the communicator instead of making it accessible through 'use' statements. Update the 'hadgem3' driver, used for coupling with NEMO, to explicitely pass the NEMO MPI communicator 'mpi_comm_opa' to 'init_communicate'. * drivers: add 'nemo_concepts' driver Historically the 'hadgem3' driver has been used when compiling a single NEMO-CICE executable at ECCC. Going forward, all driver-level adjustements will be done in our own driver, 'nemo_concepts', 'CONCEPTS' being the name of the multi-departmental collaboration around using the NEMO ocean model. Copy CICE_InitMod, CICE_RunMod and CICE_FinalMod from the 'hadgem3' directory to a new 'nemo_concepts' directory under 'drivers/direct'. The following commits will clean up this new driver and port over some in-house adjustments. * drivers/nemo_concepts: remove unused 'writeout_finished_file' subroutine This subroutine was only called on machine 'bering', which is not an ECCC machine and probably does not exist anymore anyway. Remove it. * drivers/nemo_concepts: call 'scale_fluxes' with 'aice_init' Since 'merge_fluxes' is called with aice_init, it is more consistent to also call 'scale_fluxes', in 'coupling_prep' with 'aice_init' instead of 'aice'. Copy this in-house change to the new 'nemo_concepts' driver.
…um#606) * Update testing - Set default debug_model_step=0 (was 99999999) - Add debug_model_[i,j,iblk,task] to define the debug_model diagnostic point in local grid index space. If this point is not set and debug_model is turned on, it will use lonpnt(1),latpnt(1). - Rename forcing_diag namelist/variable to debug_forcing to be more consistent with other "debug_" namelist variables - Rename the local variable forcing_debug in ice_forcing.F90 to local_debug to avoid confusion with global varaible debug_forcing. - Add namelist variable optics_file. Was hardwired in ice_forcing_bgc.F90 - Update optics file variable name to read, still hardwired in model. - Update setting of nbtrcr_sw and allocation of trcrn_sw. nbtrcr_sw was not set in icepack after it was computed and trcrn_sw was allocated before nbtrcr_sw was computed. This impacts the dedd_algae implementation which still isn't working. - move default distribution_wgt_file for gx1 to set_nml.gx1 - update test suite, add testing of debug_model_[i,j,iblk,task], add addtional testing of maskhalo - update documentation * add sumchk unit test to test global reduction methods * - add bcstchk unit test - update ice_broadcast to sync up serial and mpi versions - add get_rank to ice_communicate.F90 - add global_[min/max]val_scalar_int_nodist method to ice_global_reductions.F90 - add tripole output in ice_blocks.F90 with debug_blocks - update set_nml.tx1 to set ns_boundary_type to 'tripole', was 'open' * update lsum16 to revert to double precision if NO_R16 is set * sync up serial ice_global_reductions.F90 * - add optics_file_fieldname namelist - add grid_type and ns_boundary_type tripole check - update sumchk unit test to check both Nface and center points. these are treated differently for tripole grids. - update documentation of unit tests
Update NUOPC/CMEPS driver Update hera port
* updated orbital calculations needed for cesm * fixed problems in updated orbital calculations needed for cesm * update CICE6 to support coupling with UFS * put in changes so that both ufsatm and cesm requirements for potential temperature and density are satisfied * update icepack submodule * Revert "update icepack submodule" This reverts commit e70d1ab. * update comp_ice.backend with temporary ice_timers fix * Fix threading problem in init_bgc * Fix additional OMP problems * changes for coldstart running * Move the forapps directory * remove cesmcoupled ifdefs * Fix logging issues for NUOPC * removal of many cpp-ifdefs * fix compile errors * fixes to get cesm working * fixed white space issue * Add restart_coszen namelist option * Update NUOPC cap to work with latest CICE6 master * nuopc,cmeps or s2s build updates * fixes for dbug_flag * Update nuopc2 to latest CICE master * Fix some merge problems * Fix dbug variable * Manual merge of UFS changes * fixes to get CESM B1850 compset working * refactored ice_prescribed_mod.F90 to work with cdeps rather than the mct data models * Fix use_restart_time * changes for creating masks at runtime * added ice_mesh_mod * implemented area correction factors as option * more cleanup * Fix dragio * Fix mushy bug * updates to nuopc cap to resolve inconsistency between driver inputs and cice namelists * changed error message * added icepack_warnings_flush * updates to get ice categories working * updates to have F compset almost working with cice6 - still problems in polar regions - need to resolve 253K/cice6 versus 273K/cice5 differences * changed tolerance of mesh/grid comparison * added issues raised in PR * Update CESM-CICE sync with new time manager * Add back in latlongrid Co-authored-by: Mariana Vertenstein <mvertens@ucar.edu> Co-authored-by: apcraig <anthony.p.craig@gmail.com> Co-authored-by: Denise Worthen <denise.worthen@noaa.gov>
…CICE-Consortium#612) * icepack: optionally compute 'dragio' using under-ice roughness length In CICE-Consortium/Icepack@a80472b (icepack_parameters: optionally compute 'dragio' from under-ice roughness (CICE-Consortium/Icepack#366), 2021-06-22), Icepack was updated to optionally compute the ice-ocean drag coefficicent 'dragio' using an under-ice roughness length and the thickness of the first ocean level. Leverage this new feature in CICE by adding 'calc_dragio' and 'iceruf_ocn' to the CICE namelist. Add the new variables to the index in the documentation and add a test with the new feature (using default values for 'iceruf_ocn' and 'thickness_ocn_layer1'). As this new feature will mostly be useful in a coupled context, we do not add 'thickness_ocn_layer1' to the namelist as it is expected that the ocean model will pass this information to CICE. * ice_grid: set 'thickness_ocn_layer1' if using 'calc_dragio' In the previous commit we updated Icepack to allow computing the ice-ocean drag coefficient 'dragio' using an under-ice roughness length and the thickness of the first ocean layer, 'thickness_ocean_layer1', a new Icepack parameter. In some situations, we have access in CICE to the thicknesses of the ocean levels, either hard-coded (use_bathymetry = false, bathymetry_format = default), read from a file (use_bathymetry = true, bathymetry_format = pop), or generated from the kmt_file (use_bathymetry = false, bathymetry_format = pop). In these situations, for consistency set 'thickness_ocean_layer1' in Icepack to the thickness of the first ocean level, 'thick(1)' if 'calc_dragio' is active.
This was referenced Jun 24, 2021
…ortium#610) * Fix history/restart frequency bugs and update scripts - Fix bugs in history/restart frequency associated with new calendar (CICE-Consortium#589) - Update set_nml.histall to include hourly output (CICE-Consortium#589) - Update test scripts to cleanly abort if run fails where possible (CICE-Consortium#608) - Update decomp test so it's rerunable, remove restart at start of run (CICE-Consortium#601) - Add ability to do bfbcomp tests with additional options set on command line (CICE-Consortium#569) - Update documentation of calendar frequency computation, calendar types, and closed boundaries (CICE-Consortium#541) - Add optional doabort flag to abort_ice to control whether the method aborts. This is useful for testing and code coverage statistics, although doabort=.false. will not call the actual abort method, but we can test the interfaces and rest of the code. - Add histfreq_base and dumpfreq_base ('init' or 'zero') to specify reference data for history and restart output. Defaults are 'zero' and 'init' respectively for hist and dump. Setting histfreq_base to 'zero' allows for consistent output across multiple runs. Setting dumpfreq_base to 'init' allows the standard testing which requires restarts be written, for example, 5 days after the start of the run. - Remove extra abort calls in bcstchk and sumchk on runs that complete fine but don't pass checks. These aborts should never have been there. - Update documentation. - Clean up some of the unit tests to better support regression testing - modify initial/restart implementation - restart namelist is deprecated, now computed internally - modify initial/continue init checks and set restart and use_restart_time as needed - create compute_relative_elapsed method in ice_calendar to improve code reuse - update documentation with regard to initial/continue modes - Set default use_restart_time to false
14 tasks
binli2337
approved these changes
Jul 14, 2021
MinsukJi-NOAA
approved these changes
Jul 14, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #30
Dependent Icepack PR #5