Recent Releases of icepack

icepack - Icepack1.5.0

Icepack version 1.5.0 is being released with CICE6.6.0. This is a major release update from the Icepack1.4.1 release from May, 2024. The Icepack BGC has been significantly updated. The public Icepack interfaces have been refactored, and two public interfaces were renamed with backwards compatibility provided. . The floe size distribution conservation properties were improved, and the snow and ice enthalphy calculation was updated in the lateral melt process. Finally, an alternative congelation formulation following Plante et al. was added.

NOTE: This version is not backwards compatible with earlier versions of Icepack due to changes in public interfaces (see below for a detailed summary). In addition, all answers are changed.

Major Changes

  • BGC update #497 (updates BGC physics consistent with E3SM, begins deprecation of skeletal-layer BGC, cleans up interfaces, updates bgc namelist defaults and settings in icepack_in and bgc tracer sizing in set_env files)

Bug fixes

  • Fix conservation issues in the floe size distribution. Changes answers in FSD cases. #495
    • Use initial ice and snow volume values at the beginning of the lateral melt routine to update the snow and ice enthalpy as well other tracers for lateral melting. Changes answers in all cases.
    • Move the computation of vi0new_lat (lateral growth from FSD) outside of subroutine fsd_lateral_growth and check that the category new ice volume (vin0new) does not exceed the total vi0new.
    • Redefine floe_area_c to be precisely halfway between floe_area_l and floe_area_h.
  • BGC update #497 fixes bug in subroutine snow_redist computation of hsn_new when nslyr=1
  • Add a check and abort for negative values in the sqrt in computation of Tin in function calculate_Tin_from_qin. #502

Enhancements

  • Update Icepack interfaces to remove arguments that are not needed, for minor physics changes, and as part of the BGC refactor. See below for more details. #497 #495 #502
  • Alternative congelation formulation following Plante et al. 2024 #494
  • Make dsnow and dsnown optional in icepack_step_therm1 #506
  • Rename two public Icepack subroutines. Backward compatibility was maintained but we urge users to update their drivers to use the new names. #502
    • use icepack_therm_shared , only: icepack_init_thermo => icepack_init_salinity
    • use icepack_therm_shared , only: icepack_init_trcr => icepack_init_enthalpy
  • Store static FSD information in Icepack rather than passing it through argument lists; remove fside #495
  • Update timeseries script plot fonts and titles, add run_testoutput script #490
  • Machine ports #496, #501, #502

Documentation

  • Update version number to 1.5.0 #507
  • Update documentation for adding a tracer and the tutorial #493
  • Update comments associated with floeshape constant attribution and kice #502

Summary of Icepack Interface Changes
Unless otherwise indicated, these changes remove arguments that are set elsewhere and not needed.

  • icepack_init_trcr

    • rename to icepack_init_enthalpy
    • remove arguments nilyr, nslyr
  • icepack_init_thermo

    • rename to icepack_init_salinity
    • remove arguments nilyr
  • icepack_init_itd

    • remove arguments ncat
  • icepack_init_itd_hist

    • remove arguments ncat
  • icepack_init_hbrine

    • remove arguments nilyr, nblyr
    • remove arguments bgrid, igrid, cgrid, icgrid, swgrid
  • icepack_init_fsd

    • remove arguments nfsd
    • remove arguments floe_rad_c, floe_binwidth
  • icepack_init_fsd_bounds

    • remove arguments nfsd
    • remove arguments floe_rad_l, floe_rad_c, floe_binwidth, c_fsd_range
    • add optional arguments floe_rad_l_out, floe_rad_c_out, floe_binwidth_out, c_fsd_range_out to return values computed in the subroutine to the caller if needed.
  • icepack_cleanup_fsd

    • remove arguments ncat, nfsd
  • icepack_init_bgc

    • remove arguments ncat, nblyr, nilyr, ntrcr_o, ntrcr, nbtrcr
    • remove arguments cgrid, igrid
    • add optional argument DOCPollFractions (new feature)
  • icepack_init_zbgc

    • completely refactored, most arguments removed and moved to icepack_init_parameters
    • arguments now are (zbgc_frac_init_in, zbgc_init_frac_in, tau_ret_in, tau_rel_in, bgc_tracer_type_in)
  • icepack_load_ocean_bio_array

    • remove arguments max_nbtrcr, max_algae, max_don, max_doc, max_dic, max_aero, max_fe
  • icepack_init_ocean_bio

    • remove arguments max_dic, max_don, max_fe, max_aero
  • icepack_*_parameters (add new features or move bgc initialization of static parameters from icepack_init_zbgc to icepack_parameters)

    • add arguments hs_ssl_min, R_gC2molC, congel_freeze, use_macromolecules, restartbgc, use_atm_dust_iron, grid_o_t, tau_min, tau_max, f_don_protein, kn_bac_protein, f_don_Am_protein, ratio_Si2N_diatoms, ratio_Si2N_sp, ratio_Si2N_phaeo, ratio_S2N_diatoms, ratio_S2N_sp, ratio_S2N_phaeo, ratio_Fe2C_diatoms, ratio_Fe2C_sp, ratio_Fe2C_phaeo, ratio_Fe2N_diatoms, ratio_Fe2N_sp, ratio_Fe2N_phaeo, ratio_Fe2DON, ratio_Fe2DOC_s, ratio_Fe2DOC_l, chlabs_diatoms, chlabs_sp, chlabs_phaeo, alpha2max_low_diatoms, alpha2max_low_sp, alpha2max_low_phaeo, beta2max_diatoms, beta2max_sp, beta2max_phaeo, mu_max_diatoms, mu_max_sp, mu_max_phaeo, grow_Tdep_diatoms, grow_Tdep_sp, grow_Tdep_phaeo, fr_graze_diatoms, fr_graze_sp, fr_graze_phaeo, mort_pre_diatoms, mort_pre_sp, mort_pre_phaeo, mort_Tdep_diatoms, mort_Tdep_sp, mort_Tdep_phaeo, k_exude_diatoms, k_exude_sp, k_exude_phaeo, K_Nit_diatoms, K_Nit_sp, K_Nit_phaeo, K_Am_diatoms, K_Am_sp, K_Am_phaeo, K_Sil_diatoms, K_Sil_sp, K_Sil_phaeo, K_Fe_diatoms, K_Fe_sp, K_Fe_phaeo, f_doc_s, f_doc_l, f_exude_s, f_exude_l, k_bac_s, k_bac_l, algaltype_diatoms, algaltype_sp, algaltype_phaeo, nitratetype, ammoniumtype, silicatetype, dmspptype, dmspdtype, humtype, doctype_s, doctype_l, dictype_1, dontype_protein, fedtype_1, feptype_1, zaerotype_bc1, zaerotype_bc2, zaerotype_dust1, zaerotype_dust2, zaerotype_dust3, zaerotype_dust4, ratio_C2N_diatoms, ratio_C2N_sp, ratio_C2N_phaeo, ratio_chl2N_diatoms, ratio_chl2N_sp, ratio_chl2N_phaeo, F_abs_chl_diatoms, F_abs_chl_sp, F_abs_chl_phaeo, ratio_C2N_proteins_in
  • icepack_compute_tracers

    • remove arguments ntrcr
  • icepack_aggregate

    • remove arguments ncat, ntrcr, nilyr, nslyr
  • icepack_ice_strength

    • remove arguments ncat
  • icepack_step_therm1

    • remove arguments ncat, nilyr, nslyr
    • remove arguments rside, fside
    • add argument rsiden (replaces rside and fside)
    • add argument afsdn (new feature)
  • icepack_step_therm2

    • remove arguments ncat, nilyr, nslyr, nblyr, bgrid, cgrid, igrid, nfsd
    • remove arguments floe_rad_c, floe_binwidth
    • remove arguments rside, fside
    • add argument rsiden (replaces rside and fside)
  • icepack_step_wavefracture

    • remove arguments ncat, nfsd, floe_rad_l, floe_rad_c
  • icepack_step_ridge

    • remove arguments ncat, nilyr, nslyr, nblyr, n_aero
  • icepack_step_snow

    • remove arguments ncat, nilyr, nslyr
  • icepack_step_radiation

    • remove arguments swgrid, igrid
  • icepack_biogeochemistry

    • remove arguments ncat, ntrcr, nilyr, nslyr, nblylr, nbtrcr
    • remove arguments n_algae, n_zaero, n_doc, n_dic, n_don, n_fed, n_fep
    • remove arguments bgrid, igrid, icgrid, cgrid
    • remove arguments sice_rho, skl_bgc

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig 5 months ago

icepack - Icepack1.4.1

Icepack version 1.4.1 is being released with CICE6.5.1. This is a minor release update from the Icepack1.4.0 release from October, 2023. The only significant changes are two bug fixes in the ks units in the dEdd code and in the enthalpy calculation when temperature is adjusted. These could change answers for BL99 thermodynamics.

Major Changes

Bug fixes

  • BL99 thermodyanics fixes. Correct ks units in dEdd code. Update enthalpy calculation when temperature is adjusted, Could change answers for BL99 thermodynamics. #476

Enhancements

  • Update usage of optional argument wlat in lateral_melt in icepack_therm_itd.F90. #477
  • Update conda macos debug flags to avoid compiler issue with -ffpe-trap=invalid. #484
  • Add gnuplot to the conda environment #483

Documentation

  • Update Pull Request template to ask for additional information about PR. #484
  • Add tutorial to User Guide as an Appendix. #485
  • Update version and copyright. #486, #487

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig 12 months ago

icepack - Icepack1.4.0

Icepack version 1.4.0 is being released with CICE6.5.0. This is a major release update from the Icepack1.3.4 release from September, 2023. This update includes the first of a series of updates to Icepack as a result of coupling into E3SM. Some of the interfaces have changed, some new parameters were added, the 5-band snicar shortwave feature was added, the frazil ice coupling was updated, and a bug was fixed lateral bottom melting term that doesn't impact science.

Major Changes

  • Merge E3SM initial integration branch #460, #468, #469
    • update dEdd shortwave and snicar including new hardcoded lookup tables, 3-band and 5-band options, and support for 'dEdd_snicar_ad' as a shortwave option. Add NO_SNICARHC to turn off large hardcoded 5-band data table during compilation to save compilation time. That table is only needed with shortwave='dEdd_snicar_ad' when snw_ssp_table='snicar' but is included in compilation by default.
    • Update modal aerosols (Changes modal aerosol results in Icepack)
    • Update public interfaces (Impacts backward compatibility)
      • remove nspint public parameters
      • add icepack_init_radiation, icepack_salinity_profile, icepack_enthalpy_mush, icepack_warnings_getall
      • modify icepack_prep_radiation, remove scalar parameters (ncat, nilyr, nslyr)
      • modify icepack_step_radiation, remove scalar parameters (ncat, nblyr, nilyr, nslyr, dEdd_algae, calendar_type, days_per_year, nextsw_cday, modal_aero), remove snicar table data arguments
      • add Tf argument to icepack_compute_tracers, icepack_aggregate, icepack_step_ridge,
    • Update icepack parameters, add hi_min, Tliquidus_max, snw_ssp_table, 'dEdd_snicar_ad' option to shortwave, 'constant' to tfrz_option
    • Update the Tf implementation to make values internally consistent. Remove hardcoded Tocnfrz in a couple places, add tfrz_option='constant' which sets Tf to Tocnfrz. (Changes answers in some cases, can also change the value of temp in restart at non-ice gridcells even though the ice state is identical)
    • Modify iDin computation in subroutine compute_microS_mushy
    • Fix fhtan computation in compute_albedos
    • Refactor internal subroutine arguments to leverage module data more
    • Rename orbital interfaces from shr_orb to icepack_orb to more clearly differentiate internal and external versions
    • Update some optional argument handling
    • Clean up Icepack driver namelist logging

Bug fixes

  • Fix bug in frzmlt_bottom_lateral to limit the amount of heat available for melting #474

Enhancements

  • Generalize the logic for coupling frazil ice. Add namelist cpl_frazil and add update_ocn_f to icepack_parameters. #458
  • Update the implementation of the rsnw interpolation in dEdd shortwave code, add new methods shortwave_search, add support for 5-band test data, and update the 5-band interpolation to be linear (Non-climate answer changing for shortwave='dEdd_snicar_ad', passes QC) #472
  • Add icepack parameter tscale_pnd_drain, sets the timescale (in days) for macroscopic drainage when using mushy thermodynamics. #462
  • Update picard_nonconvergence diagnostics #464
  • Add readthedocs yaml for documentation building #466
  • Remove unncessary call to icepack_recompute_constants in icepack_query_parameters #465
  • Port to Perlmutter #467
  • Update Derecho inputdata path #471
  • Fix script bug in icepack.launch.csh #475

Documentation

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 1 year ago

icepack - Icepack1.3.4

Icepack version 1.3.4 is being released with CICE6.4.2. This is a minor release update from the Icepack1.3.3 release from December, 2022. This update includes several bug fixes including in snow physics, FSD lateral melt, and treatment of thin ice/snow enthalpy. It also includes improvements to the treatment of optional arguments in the public interfaces, capability for netcdf restart files, and other enhancements.

Bug fixes

  • Correct thin ice/snow treatment of enthalpy and other tracers. #454. This changes answers in CICE (QC passes) but not Icepack
  • Fix ice area inconsistency under convergence in single column mode #433. This changes answers in standalone Icepack but not in CICE.
  • Fix bug in snow sublimation in icepack_therm_vertical #428. Fix bug in smicen and smliqn calculation in thermo_vertical #449. This changes answers for snwgrain configurations.
  • Update the FSD lateral heat flux computation and fix bug in the welding scheme. #424 #435 This changes answers for FSD configurations.
  • Fix bug in history file output related to FSD. #421. This does not change model results.
  • Fix bug in start time for netCDF history output #426. This does not change model results.
  • Update hsn_new(1) computation in snow_redist. This does not change model results.

Enhancements

  • Update snow physics logic control #449
  • Refactor implementation of optional arguments for isotopes, snwgrain, therm1 and therm2 as well as some optional outputs in Icepack public interfaces #423, #429. Update FSD arguments, convert them to optional #440. Clean up optional argument attributes and update optional argument documentation #443.
  • Add icepack_chkoptargflag function #423, #434
  • Add support for netCDF restart files, update history and restart format control #427
  • Deprecate zsalinity #448
  • Remove ridging iteration log output #445, #446
  • Check allocation of snow aging tables better #428
  • Clean up some intent statements, clean up public interface declarations #429
  • Shift a few left-over print statements to use the icepack warning infrastructure #424
  • Add support for netCDF with conda_linux #425
  • Update icepack_write_parameters and add call in Icepack #436
  • Update ports to Onyx, Derecho, Cheyenne, Chicoma #442, #449, #456

Documentation

  • Update version, License, Copyright date #457
  • Explicitly turn on pdf generation in readthedocs #438
  • Updates needed for compatibility with changes in readthedocs #432
  • Update documentation #427, #429, #433, #435, #437, #440, #443, #448, #457

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 1 year ago

icepack - Icepack1.3.3

Icepack version 1.3.3 is being released with CICE6.4.1. This is a minor release update from the Icepack1.3.2 release in August, 2022. This update includes several bug fixes including to the dEdd implementation for modal aerosols and the snow grain implementation. It adds some new features including the saltflux_option. It also deprecates the zsalinity feature using preprocessor flags to enable the changes to be more easily reversed. Please contact the CICE Consortium with any concerns regarding deprecated code. We will consider keeping it.

Bug fixes

  • Fix bugs in dEdd implementation including missing g/w0/tau calculation after "aerosol in snow" and bug in computation of modal aerosol taer/waer/gaer by fixing multiply of nilyr and nslyr. THIS CHANGES ANSWERS for tr_aero and modal aerosols #400
  • Fix bugs in snow grain radius, corrects the magnitude of a parameter controlling wet metamorphosis of snow THIS CHANGES ANSWERS for snwgrain cases #415
  • Fix brine volume conservation check #415

Enhancements

  • Refactor computation of g/w0/tau, get rid of use of puny THIS CHANGES ANSWERS but preserves climate #400
  • Change some constants in dEdd to double precision THIS COULD CHANGE ANSWER but preserves climate #400
  • Add saltflux_options constant and prognostic #418
  • Add argcheck parameter, not yet used #397
  • Rename configuration options so all lower case for improved scripts robustness #397
  • Clean up unused variables and remove trailing blanks from several files #397
  • Port to NCCS machine discover #398
  • Add modal tests #400
  • Update fsd test length #414
  • Force IO unit closing on exit of Icepack to address a bug in MacOSX to ensure output is written fully #403
  • Add checker in source code to Github Actions CI, we don't want tabs in the code #417
  • Add warning for wave_spec_type='none' with FSD #409
  • Final deprecation of 0-layer thermo and cesm meltponds #411
  • Initial deprecation of zsalinity #413
  • Remove trailing blank spaces #419

Documentation

  • Correct Tair documentation in source code #399
  • Update FSD documentation #405 #409
  • Update documentation in general #406 #411
  • Update interface documentation #419
  • Update version to 1.3.4 #419

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 2 years ago

icepack - Icepack1.3.2

Icepack version 1.3.2 is being released with CICE6.4.0. This is a minor release update from the Icepack1.3.1 release in February, 2022. This update includes deprecation of both the 0-layer thermodynamics and the CESM melt ponds. In this version, the code is deprecated using preprocessor flags to enable the changes to be more easily reversed, if necessary. Please contact the CICE Consortium with any concerns regarding deprecated code. We will consider keeping it.

Major Changes

  • Deprecate 0-layer thermodynamics #394
  • Deprecate CESM melt ponds #393

Bug fixes

Enhancements

  • Update machine files for cori #395

Documentation

  • Update version #396
  • Update documentation #396

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 2 years ago

icepack - Icepack1.3.1

Icepack version 1.3.1 is being released with CICE6.3.1. This is a minor release update from the Icepack1.3.0 release in September, 2021. This is a relatively minor update that addresses a few technical issues, fixes an issue in the computation of CDN_ocn, and updates the bulk formula options.

Major Changes

  • None

Bug fixes

  • Switch relative call location of frzmlt_bottom_lateral and neutral_drag_coeffs to compute valid CDN_ocn before being used, #381

Enhancements

  • Update namelist reading to allow namelist groups to be read in any order #379, #382
  • Fix output formatting to avoid conversion errors #378
  • Add logical statement to avoid use of undefined values in meltsliq #376
  • Update sensible and latent heat bulk formula options set by atmbndy_in. Valid values are similarity (aka default), mixed, and constant. Update documentation #371

Documentation

  • Update documentation #374
  • Update version and copyright #386, #387
  • Update README.md to reflect change of default branch name from master to main in Github repository #374
  • Update Roberts et al 2019 reference #372

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig about 3 years ago

icepack - Icepack1.3.0

Icepack version 1.3.0 is being released with CICE6.3.0. This is a major release update from the Icepack1.2.5 release in April, 2021. This release upgrades the snow physics significantly. It also adds primitive netcdf history files, supports staggered atmospheric levels, and allows ice/ocean drag to be computed from under-ice roughness.

Major Changes

  • advanced snow physics #360

Bug fixes

Enhancements

  • add primitive netcdf history capability #368
  • support for staggered atmospheric levels #364
  • update namelist reading to allow arbitrary order of namelist groups #369
  • optionally compute dragio from under-ice roughness #366
  • update .gitattributes #362
  • machine ports #363, #367
  • clean up continuation lines #365

Documentation

  • update version number to 1.3.0 #370
  • update documentation for conda package updates #369

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 3 years ago

icepack - Icepack1.2.5

Icepack version 1.2.5 is being released with CICE6.2.0. This is a minor release update from the Icepack1.2.4 release in December, 2020. This release fixes a minor bug in the zsaliniity implementation and updates some other features in small ways. The most significant update is a change in the default emissivity value to 0.985.

Bug fixes:

  • Initialization of salinity in zsalinity parameterization #346

Enhancements:

  • Move shortwave absorbed in negligible snow layers to surface. #355
  • Add abort in ITD for rare case where (hicen_init(n+1) - hicen_init(n)) <= 0) #337
  • Modify error tolerance for rare mush thermo failure. #352
  • Adjust emissivity to 0.985, set default NBGCLYR=1. #348
  • Add test for zsalinity parameterization #344
  • Add automated Github Actions testing on Pull Requests and Pushes to master and releases #347, Update Github Actions script #359
  • Update color references in test results script #359
  • Update conda macos implementation #359
  • Port to Compy #353, #356

Documentation:

  • Update revision number and fix error in one reference #358
  • Update documentation on addition diagnostic output. #331
  • Update readthedocs requirements for bibtex #345
  • Update copyright year #349 #350

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig about 4 years ago

icepack - Icepack1.2.4

Icepack version 1.2.4 is being released with CICE6.1.4. This is a minor release update from the Icepack1.2.3 release in August, 2020. This release fixes a couple of minor bugs in the floeshape setting and in the convergence criteria in the atmo_boundary_layer method. In addition, some namelist variables were added and moved between namelist groups.

Major changes:

Bug fixes:

  • Remove duplicate definition of floeshape and set it to 0.66. Prior versions had it set to 0.666 in fsd and 0.66 outside fsd. This changes answers but only affect the results of the fsd cases. #342
  • Fix bug in atmo_boundary_layer in the iteration of Z/L, ustar, tstar, and qstar. This may change results slightly and does so in some of the test cases. This fixes the convergence check. #341

Enhancements:

  • Move sw_redist, sw_frac, sw_dtemp from the thermo namelist to the shortwave namelist in the icepack driver. Prior namelist files may not be backwards compatible. #343
  • Add hfrazilmin and floediam variables to icepack_parameter settings and to the icepack driver. #342

Documentation:

  • Fix ice strength documentation #336
  • Fix journal reference #339
  • Update sphinx requirements to fix a recent change (pushed directly to the release branch)

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 4 years ago

icepack - Icepack1.2.3

Icepack version 1.2.3 is being released with CICE6.1.3. This is a minor release update from the Icepack1.2.2 release in June, 2020. This release fixes a couple of minor bugs in the old aerosol scheme and in the snow melt term. It also revises the shortwave redistribution option and adds a few other features. Documentation was updated as well.

Major changes:

Bug fixes:

  • Fix aerosol tracer bug #330. This fixes a bug in the old aerosol scheme (tr_aero). Some quantities were divided by aice and should not have been. This will changes answers for some configurations with tr_aero=.true.
  • Fix snow melt bug #328. This fixes a bug in the thermodynamics. When the sea ice completely melts away, the final little bit of snow melt was not added to the melts array. This will probably change answers for most cases, but not science.

Enhancements:

  • Update and Document C Preprocessor (CPP) flags. #329
  • Add shortwave redistribution option including sw_redist, sw_frac, and sw_dtemp namelist. This could change answers, but proper namelist settings should recover bit-for-bit results. Users should review the new settings. Prior to this update, sw_redist was turned on automatically for (bl99) thermodynamics and turned off for mushy thermodynamics. By default, sw_redist is false (off) for all thermodynamics settings now. #326, #332
  • Add fswthru as four components #320
  • Add MACHINFO and ENVINFO #323
  • Add lcov code coverage tool #324

Documentation:

  • Update version number and interface documentation #335
  • Update citation information #327
  • Correct Pstar units #325
  • General documentation updates

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 4 years ago

icepack - Icepack1.2.2

Icepack version 1.2.2 is being released with CICE6.1.2. This is a minor release update from the Icepack1.2.1 release in March, 2020. This release adds water isotopes and several new namelist variables to improve model control. Documentation was updated as well.

Major changes:

  • Add water isotopes as diagnostic tracers #307

Bug fixes:

Enhancements:

  • Add ksno as a namelist parameter #311
  • Add flux convergence criteria and atmiter_conv namelist #315
  • Add conserv_check namelist to turn on internal conservation checks #318
  • Add code coverage capability #313, #314
  • Update test reporting #310
  • Migrate input data to zenodo #308
  • Machine updates including addition of cheyenne pgi and cheyenne gnu #308, #312, #319, #321

Documentation:

  • Update namelist tables including definition of internal code defaults #322
  • General documentation updates

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig almost 5 years ago

icepack - Icepack1.2.1

Icepack version 1.2.1 is being released with CICE6.1.1. This is a minor release update from the Icepack1.2.0 release in December, 2019. This release fixes a couple of bugs in the floe size distribution implementation. The ability to run on Mac and Linux computers was added by leveraging conda to install compilers and other supporting software. Documentation was updated as well.

Bug fixes:

  • Update to wave fracture including bug fix #299, changes answers for fsd12 cases
  • Update wavespec convergence algorithm to fix bug, reduce memory, and improve performance in the random option implementation, #305
  • Change order of operations in albedo calculation for restart consistency #303, does not change answers in standard test cases

Enhancements:

  • Add adaptive timestepping for FSD lateral melt and growth #298
  • Update machines/compilers for izumi #295, for cori #304
  • Add laptop/linux capability via conda #296
  • Fix nt_zbgc_frac and n_aero initialization in icepack driver #300 #302

Documentation:

  • Add html anchors when reporting results #290
  • Update community bulletin board/forum links #291
  • Add information for contributing #293
  • Update documentation #292, #305
  • Update copyright and internal version number #301

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig about 5 years ago

icepack - Icepack1.2.0

Icepack version 1.2.0 is being released with CICE6.1.0. This release adds the joint thickness and floe size distribution (FSD) feature as well as other technical enhancements. Because of changes in several interface routines noted below, this version is NOT backwards compatible with prior versions. We continue to work toward a set of interfaces for Icepack that are flexible, extensible and easy to maintain, so that future Icepack upgrades minimize the amount of changes required in host models.

Major changes:

  • Add the joint thickness and floe size distribution (FSD) of L. Roach and colleagues. This introduces a non backwards compatible change to icepack_step_therm1 due to a new argument, fside. #281 #286 #288

Enhancements:

  • Update Icepack interface calls to use keywords in the Icepack driver #282
  • Technical updates and interface refactoring #285, #289
    • Rename interface routines in icepack_mushy_physics and add them to icepack_intfc
      • temperature_mush -> icepack_mushy_temperature_mush
      • liquid_fraction -> icepack_mushy_liquid_fraction
      • density_brine -> icepack_mushy_density_brine
    • Rename two interfaces in icepack_zbgc for clarity (not backwards compatible)
      • icepack_init_ocean_conc -> icepack_init_ocean_bio
      • icepack_init_OceanConcArray -> icepack_load_ocean_bio_array
    • Introduce default initialization for tracer indices and flags
    • Modify icepack_step_therm2 interface (not backwards compatible)
      • Remove n_aero argument to move toward use of internal value
    • Modify icepack_step_radiation interface (not backwards compatible)
      • Remove several tracer flags and indices to move toward use of internal value
      • Split large tracer array and instead pass specific individual tracer arrays
      • Rename argument zbion to trcrn_bgcsw
    • Modify several routines in icepack_shortwave.F90 to use internal values of tracer flags and indices
    • Refactor several routines in icepack_tracers.F90 (not backwards compatible)
      • Merge _sizes and _numbers interfaces and rename as _sizes
      • Add ncat, nilyr, nslyr, nblyr, and nfsd in icepack tracer _sizes methods
      • Move eight "n" arguments from icepack tracer _indices interfaces to icepack tracer _sizes interfaces
    • Fix error in NBGCLYR value in icepack bgcsklNice test (not bit-for-bit)
  • Enhance documentation #284 #285
  • Update Version number #287
  • Improve automation of test reporting and Zenodo links #278

Bug fixes:

  • Number of BGC layers for skeletal-layer NICE test case #285

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 5 years ago

icepack - Icepack1.1.2

Icepack version 1.1.2 is being released with CICE version 6.0.2. This release updates just machine settings and documentation relative to 1.1.1.

Major changes:

Enhancements:

  • update model version to 1.1.2 #277
  • added zenodo template #267
  • machines
    • update travis to xenial build environment #265
    • update cori port #266
    • update cheyenne compiler versions #268
    • add izumi port #270 #273
  • update documentation

Bug fixes:

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig over 5 years ago

icepack - Icepack version 1.1.1

Icepack version 1.1.1 is being released with CICE version 6.0.1. This Icepack release adds support for bit-for-bit global sums in CICE and provides minor updates to machine ports and scripts.

Major changes:

  • None

Enhancements:

  • Update the internal version number to 1.1.1 #262
  • Update the Copyright as needed #263
  • Update the Pull Request Template #260
  • Machine updates #250, #254, #258, #259, #261
  • Make bulletin board more visible in online info #251
  • Add ability for user to set the test directory #253
  • Refactor code to enable bit-for-bit global sums in log output for different decompositions and processor counts #256
  • Update scripts to improve robustness #257

Bug fixes:

  • None

Cryosphere - Glacier and Ice Sheets - Fortran
Published by apcraig almost 6 years ago

icepack - Icepack version 1.1.0

Icepack version 1.1.0 is being released with CICE version 6.0.0. Among other improvements, this Icepack release adds support for CMIP6 history output, refines the quality control and compliance tests, and extends the test suites with new test configurations.

Enhancements:

  • Additional machine support #181 #206 #210 #240
  • Change statement functions to Fortran standard functions #181
  • Improved code coverage with extended tests #196
  • Make automated testing easier #207
  • Support coupling in RASM #208 #232
  • Reordered ice_in #210
  • Improved warning system #212 #234
  • Move emissivity into namelist #213
  • Improve initialization for use in CICE #216
  • Add CMIP6 support #219
  • Add namelist option to dump restart information at the end of the run #221
  • Update documentation and license

Bug fixes:

  • Ensure that the runlogs are correctly found if a build fails on Travis #173
  • Add quotes to fix icepack.setup script problem on Mac OS X #175
  • Have the driver read the grid namelist #196
  • Correct biogeochemistry tests #199 #203
  • Fix restart failures associated with SST restoring #201
  • Remove faulty logic in atmo #196
  • Fix time level inconsistency in transport #222
  • Fix intent(inout) in shortwave_dEdd_set_snow #227
  • Do not reinitialize parameters to 0 on subsequent parameter initialization calls #230

Previous numbered release

Cryosphere - Glacier and Ice Sheets - Fortran
Published by eclare108213 over 6 years ago

icepack - Icepack version 1.0.2

This minor update of version 1.0.0 is largely to establish a DOI number for the Icepack repository. We skipped releasing version 1.0.1 because the documentation move to readthedocs was incomplete in that edit.

Enhancements:

  • Moved documentation to readthedocs #187

Cryosphere - Glacier and Ice Sheets - Fortran
Published by eclare108213 about 7 years ago

icepack - Icepack version 1.0.0

The CICE Consortium’s new sea ice column physics code includes all physical parameterizations from the CICE sea ice model that are limited to single grid-cell columns or Lagrangian elements, independent of the grid and other sea ice model infrastructure. Many aspects of the physics and biogeochemistry that were previously embedded in CICE version 5 now reside within Icepack, and new features have also been added. In addition to the column physics modules from CICE, this software package includes a stand-alone driver and automated testing using a comprehensive test suite.

Enhancements:

  • Full vertical biogeochemistry code, including particulate iron, humic material, modal aerosols, proteins, stationary and mobile phases
  • Biogeochemical feedback on sea ice physics through the shortwave formulation
  • Optional inclusion of ice velocity in the calculation of wind stress
  • Multiple options for column forcing, including CFS model output, Arctic and Antarctic physical and biogeochemical measurements, and an Arctic climatology
  • A warning package that captures diagnostic and error information from within the column physics, for printing by the driver
  • A comprehensive test suite of various configuration options for full code coverage
  • Automated testing using Travis CI
  • Automated test reporting organized by hash, version, machine and branch, for both the primary Consortium repository and user forks
  • Online documentation
  • A flexible, extensible, robust interface between the column physics modules and the driver

Bug fixes:

  • limit exponential arguments to avoid underflows in shortwave, mechanical redistribution, brine height (PR #127 #132 #158 #169)
  • Use vvel instead of uvel for y-component of atmosphere-ice stress with high-frequency option (PR #142)
  • Use net shortwave sum instead of cosine of the zenith angle to limit shortwave calculation for low-/no-light conditions
  • Correct roundoff errors in the delta-Eddington shortwave calculation
  • Define interface temperature in the brine height parameterization
  • Provide flexibility for tracking frazil ice salt/water in the ice or ocean model component
  • When ponds are very thin, ignore them in the radiation calculation
  • Ensure fractions of snow, ponds and bare ice sum to 1
  • Wrap pond tracers in conditional blocks in mushy thermodynamics and form drag parameterization
  • Miscellaneous bug fixes for biogeochemistry and brine height tracer (hbrine)

Previous numbered release

Cryosphere - Glacier and Ice Sheets - Fortran
Published by eclare108213 about 7 years ago