[MITgcm-devel] problem with argument list of adthe_main_loop

Patrick Heimbach heimbach at MIT.EDU
Tue Apr 27 09:10:32 EDT 2010


Will take a look
(maybe not before tonight).
-p.

On Apr 27, 2010, at 9:06 AM, Martin Losch wrote:

> Hi Patrick,
>
> thanks, I think Takasumi followed "cost_atlantic_heat" (at least  
> the code looks like that).
> Based on his work, I have now (after a few tweaks) a 5 timestep  
> adjoint simulation that makes sense, however with the seaice  
> package disabled.
> When I turn on the seaice package, many recomputations appear (and  
> I don't mean the "benign" ones related to dsigmadr, tsurfloc, alb,  
> tices, fld(in advect.F), cvv, cuu, etc), see for example:  
> ross.mit.edu:/raid1/mlosch/MITgcm/cs32/build_ad/taf_ad.log
> I am not sure, but I think the recomputations are found around line  
> 101510 in ad_taf_output.f where within do ilev_1, another "do  
> ilev_18" starts. The resulting run takes about 2-3 times longer  
> than with out seaice. Is this correct? Do I have to live with that?
>
> Martin
>
>
> On Apr 27, 2010, at 2:03 PM, Patrick Heimbach wrote:
>
>>
>> Hi Martin,
>>
>> very quickly, it should work both ways,
>> but "easier" seems without ECCO package (less "baggage").
>> I've been running various sensitivities using a setup
>> with seaice using ECCO-setup, but without ECCO package.
>>
>> As a starting point, if you want to try non-ECCO route,
>> take a look at what's in
>> cost_accumulate_mean.F and cost_atlantic_heat.F
>> The latter is a bit rudimentary and out of date,
>> but contains several cost functions.
>> You'll need to adapt to general grid geometry.
>>
>> -p.
>>
>> On Apr 27, 2010, at 2:41 AM, Martin Losch wrote:
>>
>>> Hi Patrick,
>>>
>>>
>>> sorry for the inaccurate description of the problem. I was just  
>>> looking for a general explanation/direction. Both you have  
>>> provided, thanks.
>>>
>>>
>>> I found that with ecco, you need at least one "time-dependent"  
>>> costfunction contribution (e.g. ALLOW_THETA_COST_CONTRIBUTION)  
>>> for the "mytime" to appear in the argument list of  
>>> adthe_main_loop. This corresponds to your description.
>>>
>>>
>>> In the end I/we want to use the ecco package in a "standard" form  
>>> so that this problem will not affect use, but right now I want to  
>>> compute the sensitivity to meridional overturning in a cs32  
>>> configuration with seaice. We (Takasumi and I) tried with and  
>>> without the ecco package.
>>> 1. without ecco: I put my cost function computations into  
>>> cost_test (just as in bottom_ctrl_5x5) and get many  
>>> recomputations, most likely due to the seaice (at least they all  
>>> go away when I turn off seaice). Since I did not have time then  
>>> (and do not have it now either, unfortunately) to dig into that,  
>>> I recommended to Takasumi to try this:
>>> 2. with the ecco package, I put my cost function into  
>>> cost_usercost_all.F and I do not get recomputations (however so  
>>> far I also did not get a cost contributions from cost_usercost, I  
>>> have just started with that, so give me some more time), but we  
>>> have this "mytime, mythid" problem. I can now circumvent that by  
>>> having fake theta-cost functions (with mult_theta=0.)
>>>
>>>
>>> So my question is, according to your experience, which route will  
>>> be faster to the goal (sensitivity of the overturning with  
>>> respect to surface forcing), the ecco or the non-ecco route. I  
>>> have the feeling the non-ecco route, but only if you point me to  
>>> where I have insert store directives to fix the recompuations. If  
>>> you find the time (today), I'd love to show you my configuration.
>>>
>>>
>>> Martin
>>>
>>>
>>> ----- Original Message -----
>>> From: Patrick Heimbach <heimbach at MIT.EDU>
>>> Date: Tuesday, April 27, 2010 5:07
>>> Subject: Re: [MITgcm-devel] problem with argument list of  
>>> adthe_main_loop
>>> To: MITgcm-devel at mitgcm.org
>>>
>>>>
>>>> Hi Martin,
>>>>
>>>> I haven't looked into this in a long time.
>>>> As you see, the "broad" behavior is that
>>>> mycurrenttime is kept for ECCO, but not otherwise.
>>>>
>>>> If I remember correctly, I tried a number of ways to "recompute"
>>>> mycurrenttimewithin the_main_loop and make it "self-sufficient"
>>>> (e.g. use starttime), but didn't help much.
>>>> I think I also tried the other way round, i.e. "force" TAF to
>>>> keep mycurrenttime always,
>>>> but didn't help much either.
>>>> My hunch is it has to do with the use (or non-use) of the
>>>> cost_averages... routines.
>>>>
>>>> But would have to see your setup in detail ;)
>>>> in particular, what's the difference between the two cases.
>>>>
>>>> I had not pursued this further, since it seems stable for most
>>>> applications,and can be easily changed in case of unexpected  
>>>> behavior.
>>>>
>>>> Cheers
>>>> -p.
>>>>
>>>> On Apr 26, 2010, at 9:08 AM, Martin Losch wrote:
>>>>
>>>>> Hi there (Patrick in particular),
>>>>>
>>>>> I found this in the archives (the search functions seems to
>>>> work better):
>>>>> http://forge.csail.mit.edu/pipermail/mitgcm-devel/2008-
>>>> June/003425.html>and I seem to have a similar problem in a
>>>> particular configuration:
>>>>> in ad_taf_output.f I find
>>>>> subroutine adthe_main_loop(mythid)
>>>>> but it's called as adthe_main_loop(mycurrenttime, mythid) from
>>>> the_model_main.F>
>>>>> I have other configurations where taf properly produces
>>>> "subroutine adthe_main_loop(mytime,mythid)", but I cannot see
>>>> why. Both configurations use the ecco package (so ALLOW_ECCO is
>>>> defined, that's why the_model_main requires mytime and mythid)
>>>> and pretty similar ECCO_CPPOPTIONS.h.
>>>>>
>>>>> Can you point me to the critical parameters that let taf
>>>> produce the argument list with (mytime, mythid)? Is the type of
>>>> cost function?
>>>>>
>>>>> Martin
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> MITgcm-devel mailing list
>>>> MITgcm-devel at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>
>>> Martin Losch
>>> Alfred Wegener Institute
>>> Postfach 120161, 27515 Bremerhaven, Germany;
>>> Tel./Fax: ++49(0471)4831-1872/1797
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> _______________________________________________
>> 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