<div dir="ltr">Hi J-M<br><div><br></div><div>Thanks for your response. Regarding ro_surf, i will wait for you to look into this. Looking at the new shelfice_init_depths it might be that my concern is addressed, but will wait for your answer.</div><div><br></div><div>Regarding (2), this does seem clean to me and i appreciate it. To address faulty runtime settings, it seems like a runtime error could be raised if the metadata of the pickup file is not consistent with runtime params, but this could not be found out until the pickup is read (and even then i am unsure how to implement this though i assume it is possible).</div><div><br></div><div>I will say though, i am currently running simulations where I run the ocean (and shelfice melt) without evolving shelfice_mass -- simply to ensure the ocean (and melt rate) is spun up to a seasonal cycle -- before allowing the shelfice mass (and ice sheet thickness) to evolve, so that the coupled ice sheet-ocean dynamics are not subject to the ocean spinup. (I feel if others use shelfice_remeshing for similar purposes they may want to do the same.) In this case it is in fact very convenient to start from a pickup with mass_stepping enabled, but limiting the shelfice pickup arrays precludes this. As there are only 2 arrays, would it be very inefficient to simply store both in the pickup file whenever shelfice_remeshing or mass_stepping is enabled? (I guess my scenario could also be addressed with addl runtime parameters, but their meaning would become less intuitive.) </div><div><br></div><div>Many thanks</div><div>Dan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 25, 2019 at 5:09 AM Jean-Michel Campin <<a href="mailto:jmc@mit.edu">jmc@mit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Dan,<br>
<br>
Thanks for looking at this.<br>
<br>
Regarding (1), I meed to check. Fortunately I still have a clone<br>
with branch_remeshing there, so should be able to figure out.<br>
<br>
And reagrding (2), I made little changes in our PR #124 but kept<br>
the main things there:<br>
a) S/R SHELFICE_READ_PICKUP is called in 2 places,<br>
1) the fisrt time in shelfice_init_depths.F, only when using remeshing,<br>
to read in: R_shelfice<br>
2) the second time in shelfice_init_varia.F , only when SHELFICEMassStepping=T.<br>
to read in: shelficeMass<br>
b) the only difference is that the fields are only read-in once,<br>
at the right time, instead of twice (each time the S/R was called).<br>
I think this is cleaner, and easier to follow.<br>
c) the current logic make sense to me:<br>
if SHELFICEMassStepping=F, we don't need to read again shelficeMass because<br>
it has not been updated ;<br>
if no remeshing, initial R_shelfice is kept to it's initial value,<br>
so no need to read it from pickup.<br>
d) there are some more complicated cases when one decide to turn on or off<br>
SHELFICEMassStepping and/or remeshing and try to restart from a previous <br>
pickup. This is tricky, and I did not try anything that would increase<br>
the chances to make this kind of mixed restart successful - but nothing<br>
specific to these cases was there in your PR #124 neither.<br>
<br>
Will have an update regrading (1) soon ; if not, please remind me.<br>
<br>
Cheers,<br>
Jean-Michel<br>
<br>
<br>
On Tue, Dec 24, 2019 at 03:33:37PM +0000, Daniel Goldberg wrote:<br>
> Hi Jean Michel<br>
> <br>
> I have been looking through the recent commit for the shelfice_remeshing<br>
> P/R, and have a few questions, both regarding shelfice_init_varia.<br>
> <br>
> 1) I believe that in my P/R i had code under "IF (shelficeMassStepping)" to<br>
> reinitialise ro_surf to r_shelfice if a pickup is loaded. This is because<br>
> INIT_DEPTHS() is only called in INITIALISE_FIXED(), and so otherwise<br>
> ro_surf will not be updated, I don't think. Do you agree, and if so, was<br>
> this addressed elsewhere in your commit?<br>
> <br>
> (also -- apologies if this code was not in my P/R. I had created a new<br>
> branch for horizontal remeshing off of the remeshing branch; and now that i<br>
> have removed my remeshing branch I am not sure if this change was<br>
> reflected.)<br>
> <br>
> 2) Current logic is to read from a pickup only if shelficeMassStepping is<br>
> turned on. But remeshing can occur even when Ice shelf mass does not<br>
> change, e.g. if initial hFac's are set as to trigger remeshing thresholds.<br>
> (One could argue that care should be taken in initialisation, but in<br>
> practice such situations could be difficult to avoid due to free surface<br>
> changes.) Would it be possible to read from the shelfice pickup whenever<br>
> remeshing is allowed?<br>
> <br>
> Many thanks<br>
> Dan<br>
<br>
> _______________________________________________<br>
> MITgcm-devel mailing list<br>
> <a href="mailto:MITgcm-devel@mitgcm.org" target="_blank">MITgcm-devel@mitgcm.org</a><br>
> <a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel" rel="noreferrer" target="_blank">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel</a><br>
<br>
_______________________________________________<br>
MITgcm-devel mailing list<br>
<a href="mailto:MITgcm-devel@mitgcm.org" target="_blank">MITgcm-devel@mitgcm.org</a><br>
<a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel" rel="noreferrer" target="_blank">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel</a><br>
</blockquote></div>