Insert a sea ice concentration field (possibly generated from data assimilation)#104
Insert a sea ice concentration field (possibly generated from data assimilation)#104sanAkel wants to merge 5 commits into
Conversation
|
Hi @sanAkel . Can you add some text/description in comments or to PR on what the code should do? Then, do you have a test exercising the ported feature? On first pass, one place I'm confused about is the warming/cooling SST logic. Doesn't SST come from coupled ocean model? I don't know that "adjusting" sst in ice_restart is effective for coupled ice-ocean applications Also, what is the dependency on icepack you check-boxed above? |
|
@NickSzapiro-NOAA thanks for these comments and feedback. Does the following address your comments?
✅ Please see ⬆️ .
@awallcraft would you be able to add any details I missed⬆️?
Ice thickness distribution/redistrubtion because of the change in sea ice concentration that is made to "insert" it from a data assimilated concentration. The "main" dependency is via call to: icepack_itd. |
|
FYI: @DmitryDukhovskoy |
|
In GOFS 3.1, CICE4 has a prognostic SST field and this is relaxed to HYCOM's SST and HYCOM has its own prognostic sea ice concentration field which is relaxed to CICE4 sic. If the ocean model's SST is being used directly by CICE 6, then adjusting it in CICE may not work depending on the order of coupling vs the direct insertion step. |
|
Thanks for showing the test @sanAkel . Please always feel welcome to make PR at CICE-Consortium. I do think some testing that the More fundamentally, when would we use this since we can just make new component restarts directly offline instead of reading in old ice restart and then making particular changes? |
Thank you @NickSzapiro-NOAA, will do today/soon!
Agreed! I plan to investigate the coupling and with MOM6 next week... Now ✅, @NickSzapiro-NOAA please see this figure.
We would use this in applications like RTOFS that do NOT "make new component restarts". RTOFS with its DA makes use of this flag/ new feature proposed here. Please confirm if I addressed your questions/concerns. |
|
|
I would still be interested to implement SIS2 ice concentration / thickness relaxation in CICE6 that allows for IAU instead of direct insertion. |
Of course @DmitryDukhovskoy we can always set the |
…ilation or retrievals/products) (#1060) Add an option to be able to update ice concentration (from data assimilation or retrievals/products) at restart. - This feature is being ported from CICE4, that is used in RTOFS: - We use the sea ice concentration from data assimilation (DA), performed using RTOFS-DA. - In this (CICE6) version usage is turned ON (default: OFF) via restart_mod="adjust_aice". - See similar/same implementation in the old (CICE4) version of ice_restart.F90, search for insert_ssmi. - @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - This PR was originally sent to the NOAA-EMC/CICE fork and following @NickSzapiro-NOAA's recommendation, being redirected here; that PR is now closed. - All the comments and conversations (@NickSzapiro-NOAA and @awallcraft) can be read via NOAA-EMC#104, however, for the sake of self-completeness A brief text/description follows: One of the main goals of a data assimilation (DA)/prediction system that strives to provide close to observed sea ice concentrations and ice edge is to be able to reconcile the differences in modeled and observed sea ice concentrations derived from space borne instruments. Posey et al., 2025 implemented such a method with CICE4, it is hereby ported to CICE6. By default this feature is turned OFF. To turn it ON, set restart_mod='adjust_aice' in ice_in (input) namelist file and provide sic.nc to be able to nudge the modeled ice concentration to that from data assimilated (or observed) concentration. By default, restart_mod='none'. There is also a test mode, restart_mod='adjust_aice_test' which modifies aice read on restart to the nearest 5/100ths just to test the algorithm. - With this proposed addition, an ability to insert data assimilated sea ice concentration is provided. Implementation is similar/same as in CICE4; see https://github.com/NOAA-EMC/RTOFS_GLO/blob/develop/sorc/rtofs_hycom.fd/src_2.2.99DHMTi-dist2B_relo_cice_v4.0e/source/ice_restart.F90 ; search for insert_ssmi. @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - There is an acknowledgement that the coupler and/or MOM6 will need some modifications, but that is beyond the scope of this (CICE) repository. Such work will be taken up in future. Co-authored-by: Nicholas Szapiro <149816583+NickSzapiro-NOAA@users.noreply.github.com> Co-authored-by: Nick Szapiro <Nick.Szapiro@noaa.gov> Co-authored-by: Till Rasmussen <tar@dmi.dk> Co-authored-by: apcraig <anthony.p.craig@gmail.com>
…ilation or retrievals/products) (CICE-Consortium#1060) Add an option to be able to update ice concentration (from data assimilation or retrievals/products) at restart. - This feature is being ported from CICE4, that is used in RTOFS: - We use the sea ice concentration from data assimilation (DA), performed using RTOFS-DA. - In this (CICE6) version usage is turned ON (default: OFF) via restart_mod="adjust_aice". - See similar/same implementation in the old (CICE4) version of ice_restart.F90, search for insert_ssmi. - @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - This PR was originally sent to the NOAA-EMC/CICE fork and following @NickSzapiro-NOAA's recommendation, being redirected here; that PR is now closed. - All the comments and conversations (@NickSzapiro-NOAA and @awallcraft) can be read via NOAA-EMC#104, however, for the sake of self-completeness A brief text/description follows: One of the main goals of a data assimilation (DA)/prediction system that strives to provide close to observed sea ice concentrations and ice edge is to be able to reconcile the differences in modeled and observed sea ice concentrations derived from space borne instruments. Posey et al., 2025 implemented such a method with CICE4, it is hereby ported to CICE6. By default this feature is turned OFF. To turn it ON, set restart_mod='adjust_aice' in ice_in (input) namelist file and provide sic.nc to be able to nudge the modeled ice concentration to that from data assimilated (or observed) concentration. By default, restart_mod='none'. There is also a test mode, restart_mod='adjust_aice_test' which modifies aice read on restart to the nearest 5/100ths just to test the algorithm. - With this proposed addition, an ability to insert data assimilated sea ice concentration is provided. Implementation is similar/same as in CICE4; see https://github.com/NOAA-EMC/RTOFS_GLO/blob/develop/sorc/rtofs_hycom.fd/src_2.2.99DHMTi-dist2B_relo_cice_v4.0e/source/ice_restart.F90 ; search for insert_ssmi. @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - There is an acknowledgement that the coupler and/or MOM6 will need some modifications, but that is beyond the scope of this (CICE) repository. Such work will be taken up in future. Co-authored-by: Nicholas Szapiro <149816583+NickSzapiro-NOAA@users.noreply.github.com> Co-authored-by: Nick Szapiro <Nick.Szapiro@noaa.gov> Co-authored-by: Till Rasmussen <tar@dmi.dk> Co-authored-by: apcraig <anthony.p.craig@gmail.com>
…ilation or retrievals/products) (CICE-Consortium#1060) Add an option to be able to update ice concentration (from data assimilation or retrievals/products) at restart. - This feature is being ported from CICE4, that is used in RTOFS: - We use the sea ice concentration from data assimilation (DA), performed using RTOFS-DA. - In this (CICE6) version usage is turned ON (default: OFF) via restart_mod="adjust_aice". - See similar/same implementation in the old (CICE4) version of ice_restart.F90, search for insert_ssmi. - @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - This PR was originally sent to the NOAA-EMC/CICE fork and following @NickSzapiro-NOAA's recommendation, being redirected here; that PR is now closed. - All the comments and conversations (@NickSzapiro-NOAA and @awallcraft) can be read via NOAA-EMC#104, however, for the sake of self-completeness A brief text/description follows: One of the main goals of a data assimilation (DA)/prediction system that strives to provide close to observed sea ice concentrations and ice edge is to be able to reconcile the differences in modeled and observed sea ice concentrations derived from space borne instruments. Posey et al., 2025 implemented such a method with CICE4, it is hereby ported to CICE6. By default this feature is turned OFF. To turn it ON, set restart_mod='adjust_aice' in ice_in (input) namelist file and provide sic.nc to be able to nudge the modeled ice concentration to that from data assimilated (or observed) concentration. By default, restart_mod='none'. There is also a test mode, restart_mod='adjust_aice_test' which modifies aice read on restart to the nearest 5/100ths just to test the algorithm. - With this proposed addition, an ability to insert data assimilated sea ice concentration is provided. Implementation is similar/same as in CICE4; see https://github.com/NOAA-EMC/RTOFS_GLO/blob/develop/sorc/rtofs_hycom.fd/src_2.2.99DHMTi-dist2B_relo_cice_v4.0e/source/ice_restart.F90 ; search for insert_ssmi. @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - There is an acknowledgement that the coupler and/or MOM6 will need some modifications, but that is beyond the scope of this (CICE) repository. Such work will be taken up in future. Co-authored-by: Nicholas Szapiro <149816583+NickSzapiro-NOAA@users.noreply.github.com> Co-authored-by: Nick Szapiro <Nick.Szapiro@noaa.gov> Co-authored-by: Till Rasmussen <tar@dmi.dk> Co-authored-by: apcraig <anthony.p.craig@gmail.com>
…ilation or retrievals/products) (CICE-Consortium#1060) Add an option to be able to update ice concentration (from data assimilation or retrievals/products) at restart. - This feature is being ported from CICE4, that is used in RTOFS: - We use the sea ice concentration from data assimilation (DA), performed using RTOFS-DA. - In this (CICE6) version usage is turned ON (default: OFF) via restart_mod="adjust_aice". - See similar/same implementation in the old (CICE4) version of ice_restart.F90, search for insert_ssmi. - @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - This PR was originally sent to the NOAA-EMC/CICE fork and following @NickSzapiro-NOAA's recommendation, being redirected here; that PR is now closed. - All the comments and conversations (@NickSzapiro-NOAA and @awallcraft) can be read via NOAA-EMC#104, however, for the sake of self-completeness A brief text/description follows: One of the main goals of a data assimilation (DA)/prediction system that strives to provide close to observed sea ice concentrations and ice edge is to be able to reconcile the differences in modeled and observed sea ice concentrations derived from space borne instruments. Posey et al., 2025 implemented such a method with CICE4, it is hereby ported to CICE6. By default this feature is turned OFF. To turn it ON, set restart_mod='adjust_aice' in ice_in (input) namelist file and provide sic.nc to be able to nudge the modeled ice concentration to that from data assimilated (or observed) concentration. By default, restart_mod='none'. There is also a test mode, restart_mod='adjust_aice_test' which modifies aice read on restart to the nearest 5/100ths just to test the algorithm. - With this proposed addition, an ability to insert data assimilated sea ice concentration is provided. Implementation is similar/same as in CICE4; see https://github.com/NOAA-EMC/RTOFS_GLO/blob/develop/sorc/rtofs_hycom.fd/src_2.2.99DHMTi-dist2B_relo_cice_v4.0e/source/ice_restart.F90 ; search for insert_ssmi. @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - There is an acknowledgement that the coupler and/or MOM6 will need some modifications, but that is beyond the scope of this (CICE) repository. Such work will be taken up in future. Co-authored-by: Nicholas Szapiro <149816583+NickSzapiro-NOAA@users.noreply.github.com> Co-authored-by: Nick Szapiro <Nick.Szapiro@noaa.gov> Co-authored-by: Till Rasmussen <tar@dmi.dk> Co-authored-by: apcraig <anthony.p.craig@gmail.com>
…ilation or retrievals/products) (CICE-Consortium#1060) Add an option to be able to update ice concentration (from data assimilation or retrievals/products) at restart. - This feature is being ported from CICE4, that is used in RTOFS: - We use the sea ice concentration from data assimilation (DA), performed using RTOFS-DA. - In this (CICE6) version usage is turned ON (default: OFF) via restart_mod="adjust_aice". - See similar/same implementation in the old (CICE4) version of ice_restart.F90, search for insert_ssmi. - @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - This PR was originally sent to the NOAA-EMC/CICE fork and following @NickSzapiro-NOAA's recommendation, being redirected here; that PR is now closed. - All the comments and conversations (@NickSzapiro-NOAA and @awallcraft) can be read via NOAA-EMC#104, however, for the sake of self-completeness A brief text/description follows: One of the main goals of a data assimilation (DA)/prediction system that strives to provide close to observed sea ice concentrations and ice edge is to be able to reconcile the differences in modeled and observed sea ice concentrations derived from space borne instruments. Posey et al., 2025 implemented such a method with CICE4, it is hereby ported to CICE6. By default this feature is turned OFF. To turn it ON, set restart_mod='adjust_aice' in ice_in (input) namelist file and provide sic.nc to be able to nudge the modeled ice concentration to that from data assimilated (or observed) concentration. By default, restart_mod='none'. There is also a test mode, restart_mod='adjust_aice_test' which modifies aice read on restart to the nearest 5/100ths just to test the algorithm. - With this proposed addition, an ability to insert data assimilated sea ice concentration is provided. Implementation is similar/same as in CICE4; see https://github.com/NOAA-EMC/RTOFS_GLO/blob/develop/sorc/rtofs_hycom.fd/src_2.2.99DHMTi-dist2B_relo_cice_v4.0e/source/ice_restart.F90 ; search for insert_ssmi. @awallcraft ported the code he wrote (and is used in CICE4) to CICE6. - There is an acknowledgement that the coupler and/or MOM6 will need some modifications, but that is beyond the scope of this (CICE) repository. Such work will be taken up in future. Co-authored-by: Nicholas Szapiro <149816583+NickSzapiro-NOAA@users.noreply.github.com> Co-authored-by: Nick Szapiro <Nick.Szapiro@noaa.gov> Co-authored-by: Till Rasmussen <tar@dmi.dk> Co-authored-by: apcraig <anthony.p.craig@gmail.com>



For detailed information about submitting Pull Requests (PRs) to the CICE-Consortium,
please refer to: https://github.com/CICE-Consortium/About-Us/wiki/Resource-Index#information-for-developers
PR checklist
This feature is being ported from CICE4, that is used in RTOFS:
ON(default:OFF) via a logical:insert_sicvariable.insert_ssmi.[@NickSzapiro-NOAA in reply to:
Can you add some text/description in commentssee ⬇️]One of the main goals of a data assimilation (DA)/prediction system that strives to provide close to observed sea ice concentrations and ice edge is to be able to reconcile the differences in modeled and observed sea ice concentrations derived from space borne instruments. Posey et al., 2025 implemented such a method with CICE4, it is hereby ported to CICE6. By default this feature is turned
OFF. To turn itON, setinsert_sicto.true.inice_in(input) namelist file and providesic.ncto be able to nudge the modeled ice concentration to that from data assimilated (or observed) concentration.Developer(s):
@awallcraft
Suggest PR reviewers from list in the column to the right.
Please copy the PR test results link or provide a summary of testing completed below.
Tested against the
developbranch of the NOAA-EMC CICE fork: https://github.com/NOAA-EMC/CICE.gitTest was
datm_cdeps_mx025_gefs. At orion/hercules, paths:developbranch):/work/noaa/stmp/santa/stmp/santa/FV3_RT/rt_3352132/datm_cdeps_mx025_gefs_intel/BASL/sanAkel:alan_ssmibranch, i.e., this PR) withinsert_sic= .false.:/work/noaa/stmp/santa/stmp/santa/FV3_RT/rt_3352132/datm_cdeps_mx025_gefs_intel/CTRLinsert_sic= .true.):/work/noaa/stmp/santa/stmp/santa/FV3_RT/rt_3352132/datm_cdeps_mx025_gefs_intel/EXPResults:
RESTART/iced.2011-10-02-00000.nc.How much do the PR code changes differ from the unmodified code?
Does this PR create or have dependencies on Icepack or any other models?
Does this PR update the Icepack submodule? If so, the Icepack submodule must point to a hash on Icepack's main branch.
Does this PR add any new test cases?
Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/. A test build of the technical docs will be performed as part of the PR testing.)
Please document the changes in detail, including why the changes are made. This will become part of the PR commit log.
Further details on results:
1-day.insert_sicRemarks:
insert_ssmi. @awallcraft ported the code he wrote (and is used in CICE4) to CICE6.