[MITgcm-devel] once again: ctrl + obcs
Patrick Heimbach
heimbach at MIT.EDU
Sat May 14 07:47:12 EDT 2011
Without looking carefully (not possible for me right now), imagine following case:
You want to unpack xx_...iterN using old/"unprecise" method and weights (e.g. spatially uniform),
and from then on switch to new/"precise" method and weights (spatially varying)
for new gradient adxx_...iterN
You are perfectly ok doing that (for consistency you should also re-pack
xx_...iterN using same weights, but you don't *absolutely have* to).
It's not "wrong", it's just a subjective change in preconditioning
(there is no "right" way of preconditioning).
And you're ok of course, if you set both CPP options consistently.
-p.
On May 14, 2011, at 7:18 AM, Martin Losch wrote:
> Hi,
> the CTRL_PACK/UNPACK_PRECISE issue puzzling. I think, that when the gradient is packed after scaling then the control vector absolutely must be scaled in the same way after unpacking. Currently this is the case for ALLOW_PACKUNPACK_METHOD2 defined (introduced by Gael, right?), but not for the "old packing method" (when ALLOW_PACKUNPACK_METHOD2 is not defined), where it is possible to set the flags CTRL_PACK_PRECISE and CTRL_UNPACK_PRECISE inconsistently. I think this part is wrong.
>
> As far as I can see, the CTRL_PACK/UNPACK_PRECISE flags were introduced in revision 1.1.2.5 (ctrl_set_unpack) and 1.1.2.3 (ctrl_set_pack) of the ecco-branch, checkpoint e33 (Jun19 2003) and then made its way into the main branch when e34 was merged in.
>
> Unless someone complains, I will correct ctrl_set_unpack_* and eliminate CTRL_UNPACK_PRECISE.
>
> Martin
> On May 12, 2011, at 6:46 PM, Matthew Mazloff wrote:
>
>> Hi Martin,
>>
>> I have never used CTRL_PACK_PRECISE so I won't cry if you remove it. I do see its value, however, as the preconditioning of the obcs gradients near shore (in boundary regions) likely should be different than in the interior. Perhaps we can just clean it up...
>>
>> I have no issue with removing NO_CONTROL_BAROTROPIC_VELOCITY
>>
>> -Matt
>>
>>
>>
>>
>> On May 9, 2011, at 7:39 AM, Martin Losch wrote:
>>
>>> Dear ctrl-ers,
>>>
>>> I just noticed the CPP flag CTRL_PACK_PRECISE in ctrl_set_pack/unpack_xyz.F, which controls the weighting for "ALLOW_NONDIMENSIONAL_CONTROL_IO".
>>> Interestingly this flag is also used in ctrl_set_pack_yz/xz.F but not in ctrl_set_unpack_yz/xz.F, there it is called CTRL_UNPACK_PRECISE. It looks like someone has just used copy and paste to create the latter files an replaced all "pack" with "unpack". I do not think that this will work and suggest removing everything related to this flag in the obcs-related routines (_yz/xz).
>>>
>>> Further, there is a flag "NO_CONTROL_BAROTROPIC_VELOCITY" that I overlooked earlier when I got rid of the now obsolete splitting of baroclinic and barotropic control of obcs. I suggest to remove that also.
>>>
>>> Opinions?
>>>
>>> Martin
>>>
>>>
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
---
Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
MIT | EAPS 54-1518 | 77 Massachusetts Ave | Cambridge MA 02139 USA
FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
More information about the MITgcm-devel
mailing list