You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Update the scripts that handle NCODA output(s), i.e., increments that are passed to the model. #98
creation of ice nc file through exrtofs_glo_ice_update.sh, Santha's python scripts:
I think there is no renormalization in the scripts. The ncoda icecov file has values between -999 and 100 (ice coverage in percentage) . To input in cice6 (or cice4), the ice coverage has to be renormalized (multiply by 0.01) to to have a maximum of 1 for input in cice, and the -999 numbers over land replaced by another bad number.
In addition, I found a bug that was always in RTOFS that doesn't affect the result. I also have this bug in my ice conversion script:
In multiplying by 0.01 to obtain the ice coverage from the ncoda file, the bad value for ncoda should be -999 and not 999.
The multiplication by 0.01 should be done where values are different from -999, and when they are -999, should be replaced by a bad number, which in hycom is 2^100.
The result is that values over land in RTOFS v2.5 (production) are -9.99 while for hycom should be 2^100. Since the bug affects values on land, it doesn't affect the results of the run, I am pretty sure. Ocean and ice values are good.
The ncoda icecov file has values between -999 and 100 (ice coverage in percentage) . To input in cice6 (or cice4), the ice coverage has to be renormalized (multiply by 0.01) to to have a maximum of 1 for input in cice, and the -999 numbers over land replaced by another bad number.
Of course, I know that!
When we meet on Tue, we have to look into why you have the scaling factor not being applied. See my numbers that I posted in the PR. Copy/pasted for your convenience:
In addition, I found a bug that was always in RTOFS that doesn't affect the result. I also have this bug in my ice conversion script: In multiplying by 0.01 to obtain the ice coverage from the ncoda file, the bad value for ncoda should be -999 and not 999. The multiplication by 0.01 should be done where values are different from -999, and when they are -999, should be replaced by a bad number, which in hycom is 2^100.
The result is that values over land in RTOFS v2.5 (production) are -9.99 while for hycom should be 2^100. Since the bug affects values on land, it doesn't affect the results of the run, I am pretty sure. Ocean and ice values are good.
creation of ice nc file through exrtofs_glo_ice_update.sh,
❓ How that script worked for you! After I saw your usage of it, I added 2 more arguments to it, without them it should throw an error! If you want to try again, please go ahead!
Anyway, for my test, I used the rtofs_glo2d_ice.sh directrly (see above test.sh) instead of calling via exrtofs_glo_ice_update.sh. In production, exrtofs_glo_ice_update.sh will used, so I'm 😄 your test made me look into it deeper and solidify it.
In branch ncoda_ufs_cycle
updated sorc/hycom_tools_for_mom6.fd/ncodaz_inc2mom6nc_glb_lyr.f
incremental update velocities should be re-staggered (not done)
added parm/rtofs_glo_ncoda_inc2mom6nc_lyr.input
Activity
zgarraffo commentedon Dec 30, 2025
Please point me to the script to create the ice coverage nc file, since it is ready
sanAkel commentedon Dec 31, 2025
It was added via PR #54
Let me know if you need an example of how to use on wcoss/ dwood.
zgarraffo commentedon Dec 31, 2025
Yes, please, point me to the specific script or example.
sanAkel commentedon Dec 31, 2025
@zgarraffo It in our interest to get done properly instead of one-off scripts!
You'll get it ... whenI am done working on it via this branch.I
dohave a driver script at/lfs/h2/emc/stmp/santha.akella/testsanAkel commentedon Jan 2, 2026
@zgarraffo you can try ⬆️ using code add/modified via branch:
issue_99which is added via this PR.Note:
Once merged into
develop, I will delete branch:issue_99(and you can usedevelopbranch).sanAkel commentedon Jan 3, 2026
@zgarraffo, @DanIredell-NOAA Can one of you please take upon the other (than sea ice) pieces of incremental update?
zgarraffo commentedon Jan 4, 2026
creation of ice nc file through exrtofs_glo_ice_update.sh, Santha's python scripts:
I think there is no renormalization in the scripts. The ncoda icecov file has values between -999 and 100 (ice coverage in percentage) . To input in cice6 (or cice4), the ice coverage has to be renormalized (multiply by 0.01) to to have a maximum of 1 for input in cice, and the -999 numbers over land replaced by another bad number.
In addition, I found a bug that was always in RTOFS that doesn't affect the result. I also have this bug in my ice conversion script:
In multiplying by 0.01 to obtain the ice coverage from the ncoda file, the bad value for ncoda should be -999 and not 999.
The multiplication by 0.01 should be done where values are different from -999, and when they are -999, should be replaced by a bad number, which in hycom is 2^100.
The result is that values over land in RTOFS v2.5 (production) are -9.99 while for hycom should be 2^100. Since the bug affects values on land, it doesn't affect the results of the run, I am pretty sure. Ocean and ice values are good.
sanAkel commentedon Jan 4, 2026
False! It is done here.
Of course, I know that!
When we meet on Tue, we have to look into why you have the scaling factor not being applied. See my numbers that I posted in the PR. Copy/pasted for your convenience:
And
In today's world, we call them "Fill_Values", and its also included, see this.
Again we have to see how you are running the code pulled from branch https://github.com/NOAA-EMC/RTOFS_GLO/blob/issue_99/ since my tests contradict everything ⬆️.
To be 💯 sure of my ⬆️ assertion, I re-ran the same test case:
test.shas I did for the PR and see below plot: all values are bounded within [0, 1].Based on #98 (comment) from @zgarraffo
sanAkel commentedon Jan 4, 2026
@zgarraffo I re-read:
❓ How that script worked for you! After I saw your usage of it, I added 2 more arguments to it, without them it should throw an error! If you want to try again, please go ahead!
Anyway, for my test, I used the
rtofs_glo2d_ice.shdirectrly (see abovetest.sh) instead of calling viaexrtofs_glo_ice_update.sh. In production,exrtofs_glo_ice_update.shwill used, so I'm 😄 your test made me look into it deeper and solidify it.25 remaining items
sanAkel commentedon Jan 9, 2026
@zgarraffo Hopefully on/by Tuesday 01/13 you can commit a new script. Let me know if you get stuck somewhere.
zgarraffo commentedon Jan 9, 2026
I cloned and compiled.
zgarraffo commentedon Jan 9, 2026
Since it is not decided how the MOM6 restart files will be named and in what directory they will be, I am the present names as in my runs.
sanAkel commentedon Jan 10, 2026
Please use whatever you got.
But make sure the script gives the answer that looks like what you got on Hera/Ursa, if not the same.
zgarraffo commentedon Jan 12, 2026
In branch ncoda_ufs_cycle
updated sorc/hycom_tools_for_mom6.fd/ncodaz_inc2mom6nc_glb_lyr.f
incremental update velocities should be re-staggered (not done)
added parm/rtofs_glo_ncoda_inc2mom6nc_lyr.input
zgarraffo commentedon Jan 12, 2026
modified scripts/exrtofs_glo_ncoda_inc.sh
Not verified by running it.
sanAkel commentedon Jan 12, 2026
Who will do that?
zgarraffo commentedon Jan 13, 2026
I can do it tomorrow or so. You asked me to commit in whatever state things are.
sanAkel commentedon Jan 13, 2026
👍
There is no need for manual notification of commits; GitHub does it automatically.
zgarraffo commentedon Jan 14, 2026
The script for creating the incremental update file in the production environment now works (after talking with Dan)
sanAkel commentedon Feb 10, 2026
Resolved via #107