-
Notifications
You must be signed in to change notification settings - Fork 232
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
MOM6/SIS2 restarts do not match with and without a mask_table #252
Comments
Hi Niki, mppnccombine option -m is to set the value to 0 or missing value. When Zhi On Thu, Jan 21, 2016 at 5:40 PM, Niki Zadeh notifications@github.com
|
@Zhi-Liang the -m option is present for the restarts!
|
Hi Niki, I think the reason is that the restart file field does not have attribute Zhi On Mon, Jan 25, 2016 at 2:33 PM, Niki Zadeh notifications@github.com
|
@Zhi-Liang could you point me to an existing code sample that sets this attribute in the restart file? Is it being used in any other components? |
Hi Niki, The current fms_io does not have such capability. Also MOM6 does not use Greetings Zhi On Fri, Feb 19, 2016 at 12:01 PM, Niki Zadeh notifications@github.com
|
No, the variables that show differences have different and non-zero land values, so one size will not fit all: age missing value is -1 which comes from lan_val = -1, the value inside the mask_table regions is 0 |
Hi Niki, Then the change will be more complicated. All these changes will be done
Zhi On Fri, Feb 19, 2016 at 1:38 PM, Niki Zadeh notifications@github.com
|
I added a missing_value to each restart variable but that did not solve this issue. The restart value of a variable on "land" is the initial value of that variable in the code after it is allocated. It could change if the variable is changed without using a land mask in the calculation. The final value is 0 for most of the restart vars but is some other peculiar value for age,h,h2,sfc,ave_ssh and these values have nothing to do with the "missing_value" attribute. I can use the optional argument "default_data" of write_field in MOM_restart.F90 to set a default value for the variables over I think we need the subroutine save_restart() to do some magic and set the value on land for all variables in the restart file to a missing_value constant. I think diag_manager is doing that for history files, right? |
Hi Niki I think set default_data to be the missing value will solve the issue. Zhi
|
@Zhi-Liang these are variables and their land value changes as well as their ocean value. |
Hi Niki, Like Jeff suggested, we may use a default missing_value(fill So there is no simple solution for this problem if the value over the Zhi On Tue, Mar 22, 2016 at 2:59 PM, Niki Zadeh notifications@github.com
|
The root of the issue is that unlike the diagnostics data there is not land mask associated with restart data, neither in MOM6 nor in fms_io save_restarts(). So, setting a missing_value does not matter because the data is not masked on the land. We might be able to find a trick to query the land value of each restart variable just before it is being written and set the missing_value to that to fill the hole over a mask_table. This won't be robust. |
Hi Niki, I think this will work. I think the performance will be not an issue Zhi On Fri, Apr 8, 2016 at 10:44 AM, Niki Zadeh notifications@github.com
|
This has not been fixed. There are no data_void attributes in the restart files. In my case, 3 of 60 partial nc files don't get written at all (they are entirely covered by missing pes). For (say) part_size in ice_model.res, masked pes have a value of 9.96921e+36 (I'm not sure how ncview knows this is a data_void to show it as white), but mppcombine -m puts 0.0 in areas with no partial file. These are the 3 large blue squares. I thought it was just the missing partial files that caused problems, but perhaps even without these having a different set of masked pes would make the restart fail. For robustness a data_void has to be outside the valid range, so 0.0 almost never works. I'm not sure if NaN is "legal" as a data_void, or if can be an automatic missing value. How about implementing a default data_void that is not the land value. Then the model can replace data_void with each variables default land value on input and can provide data_void on output for masked pes and all fields would have a data_void attribute. If there is an actual data_void over land, this could replace the default value for this field and used on masked pes. |
@awallcraft What model is this and how does it crash when you use these combined restarts? |
I am running ice_ocean_SIS2/repro/MOM6 on a 1/12 degree tripole grid. This
was built last March:
conrad01 158> git describe
dev/gfdl/2018.03.06
715 warnings like:
WARNING from PE 1127: Bad ice state sum_part_sz Start of
set_ice_surface_state ; at -136.9 58.7 or i,j,k = 5 31 0; nbad =
298350 on pe 1127 ; sum_part_sz = 5.9815E+37
143 fatals like:
FATAL from PE 28: Input to adjust_ice_categories, non-zero pond mass
rests atop no ice.
81 tracebacks:
MOM6 00000000014FFE81 mpp_mod_mp_mpp_er 50
mpp_util_mpi.inc
MOM6 0000000000FB086F sis_transport_mp_ 512
SIS_transport.F90
MOM6 00000000005AB748 sis_slow_thermo_m 476
SIS_slow_thermo.F90
MOM6 0000000000C3ADFF ice_model_mod_mp_ 288
ice_model.F90
MOM6 0000000000C3D57F ice_model_mod_mp_ 198
ice_model.F90
MOM6 00000000005C5E4F MAIN__ 978
coupler_main.F90
Alan.
…On Wed, Feb 13, 2019 at 12:13 PM Niki Zadeh ***@***.***> wrote:
@awallcraft <https://github.com/awallcraft> What model is this and how
does it crash when you use these combined restarts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<NOAA-GFDL#252 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AcL50W60dHTN-zWwqwhC_dBDmWmMiJemks5vNEe0gaJpZM4HJ73T>
.
|
…ngmuir_kpp Output relevant fields when diff or visc < 0
In a 1/2 degree CM4 test, there are a few restart variables that differ when using a mask_table (compared to the same layout but without a mask_table). This causes problem for users who want to change layout in the middle of a run or users who judge answer preserving by comparing restarts.
The variables differ ONLY on the masked pes and the reason for the mismatch is clear; the missing value for these particular variables on land is non-zero, whereas their value is set to zero on those cells when a mask_table is used.
Restart file MOM6.res.nc non-match variables:
age: the mismatch value is 1 on the masked pes because the missing value for these variable is 1.
sfc, ave_ssh : the mismatch value is 0.075 on the masked pes because the missing value for these variables is 0.075.
h, h2 : the mismatch value is 0.001 on the masked pes because the missing value for these variables is 0.001.
Restart file ice_model.res.nc non-match variable:
t_surf: the mismatch value is 0.15 on the masked pes because the missing value for these variables is 0.15.
Is it possible to change the above non-ocean cell values to zero?
Or do we need to find a way to set values on masked pes according to these values?
The text was updated successfully, but these errors were encountered: