[MITgcm-devel] Inverted echo sounders
Patrick Heimbach
heimbach at MIT.EDU
Fri Jan 14 18:39:24 EST 2011
Hi Matt,
sounds like nice progress.
Re. help you should email Sergey who is not on the devel list, I think.
I've CC-ed him.
Re. OBCS mode code, let's perhaps chat next week.
Cheers
-p.
On Jan 14, 2011, at 6:27 PM, Matthew Mazloff wrote:
> Hello,
>
> So now I am adding full tomography constraints. I save daily sound speed anomaly in cost_averagesfields. then in cost_tomo I read in a path and divide this by sound speed to get a travel time -- global sum it -- then compare it to obs.
>
> Its not the most efficient -- but that will come with time -- i hope.
>
> I would love to get this checked in at some point....
>
> If anyone is especially interested in helping let me know. Otherwise when I get a version I am happy with I will pester someone to check it in.
>
> We can talk more at the may ECCO meeting
>
> -Matt
>
> ps> would like to get obcs mode code checked in too...
>
>
>
>
> On May 27, 2010, at 4:02 PM, Matthew Mazloff wrote:
>
>> (Final) follow up
>>
>> I did manage to get the inverted echo sounder constraints working. I
>> had to put the calculation of travel time inside cost_averagesfields
>> to not have major recomputations. (so cost_averages_ies has been
>> discarded)
>>
>> Basically daily average travel time is calculated -- which may be of
>> interest even if there is no observations to compare to...
>>
>> eventually it will make its way to mitgcm_contrib/sose, but if anyone
>> is interested in the code sooner please let me know
>>
>> -Matt
>>
>>
>> On May 17, 2010, at 3:23 PM, Matthew Mazloff wrote:
>>
>>> Hello,
>>>
>>> So a follow up
>>>
>>> I added the cost calculation component --
>>>
>>> Using the bp pressure code as a template I added:
>>> cost_ies_read.F and cost_ies.F (and added these into
>>> ecco_ad_diff.list)
>>>
>>> These are called form the_main_loop.F
>>> Small changes were also made to
>>> ecco_cost_final.F ecco_readparms.F
>>> ctrl.h ecco_cost.h
>>>
>>> in case there is a desire to check in this addition the list of
>>> effected files is now
>>> cost_ies_read.F cost_ies.F cost_averages_ies.F
>>> the_main_loop.F ecco_cost_final.F ecco_readparms.F
>>> cost_averagesinit.F ecco_cost_init_barfiles.F cost_averagesfields
>>> ctrl.h ecco_cost.h ctrl_dummy.h cost_averages_bar_directives.h
>>> ecco_ad_diff.list
>>>
>>>
>>> However, I am getting way ahead of myself here -- because with this
>>> code defined the divided adjoint is seriously broken....
>>> ad_taf_output.f actually doesn't look that bad -- doesn't appear to
>>> have too many extra loops -- but the divided.ctrl part is missing
>>> have you seen this before?
>>>
>>> -Matt
>>>
>>>
>>>
>>> On May 15, 2010, at 12:46 PM, Matthew Mazloff wrote:
>>>
>>>> Hi Patrick,
>>>>
>>>> I want to constrain to daily averaged travel time for inverted echo
>>>> sounders -- so I put
>>>> # define ALLOW_IESTAU_COST_CONTRIBUTION
>>>> in ECCO_CPPOPTIONS.h
>>>>
>>>> with this defined cost_averagesfields calls a new routine:
>>>> cost_averages_ies.F
>>>>
>>>> Here T,S, and P are used to get sound speed. Sound speed is then
>>>> integrated up to get daily average travel time and this is saved as
>>>> file iestaubar
>>>>
>>>> The files I had to make minor additions too are:
>>>> ctrl_dummy.h (declared xx_iestaubar_mean_dummy)
>>>> cost_averages_bar_directives.h (CADJ STORE xx_iestaubar_mean_dummy =
>>>> onetape)
>>>> ecco_cost.h (declared iestaubar, iestaubarfile)
>>>> cost_averagesinit.F (iestaubar, xx_iestaubar_mean_dummy)
>>>> ecco_cost_init_barfiles.F (fnameiestaubar,adfnameiestaubar)
>>>> and I added cost_averages_ies.f to ecco_ad_diff.list
>>>> cost_averagesfields.F (now calls cost_averages_ies)
>>>>
>>>> The code compiles but gives major recomputations. See below
>>>>
>>>> Is there any place obvious I need to add a store?
>>>>
>>>> Thanks
>>>> Matt
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> From taf_ad.log:
>>>>
>>>> TAF RECOMPUTATION LOOP WARNING DOLOOP_STMT ad_input_code.f:441434 in
>>>> the_main_loop
>>>> extensive recomputations are required.
>>>> The responsible variables are :
>>>> psbar
>>>> ,sstbar
>>>> ,wbar,xx_psbar_mean_dummy,xx_sstbar_mean_dummy,xx_wbar_mean_dummy
>>>> TAF RECOMPUTATION WARNING DOLOOP_STMT ad_input_code.f:441434 in
>>>> the_main_loop
>>>> triggered by :
>>>> apressure0,apressure1,aqh0,aqh1,atemp0,atemp1,empmr0,empmr1,etan,evap,gs,gsnm1,gt,gtnm1,gunm1,gvnm1,hflux0,hflux1,lwdown0,lwdown1,lwflux0,lwflux1,obns,obns0,obns1,obnt,obnt0,obnt1,obnu0,obnu1,obnv0,obnv1,obss,obss0,obss1,obst,obst0,obst1,obsu0,obsu1,obsv0,obsv1,obws,obws0,obws1,obwt,obwt0,obwt1,obwu0,obwu1,obwv0,obwv1,pload0,pload1,precip0,precip1,psbar,qnet0,qnet1,qsw0,qsw1,runoff0,runoff1,salt,saltflux0,saltflux1,sflux0,sflux1,siceload,sss0,sss1,sst0,sst1,sstbar,surfaceforcingtice,swdown0,swdown1,swflux0,swflux1,taux0,taux1,tauy0,tauy1,theta,totphihyd,ustress0,ustress1,uvel,uwind0,uwind1,vstress0,vstress1,vvel,vwind0,vwind1,wbar,wspeed0,wspeed1,wvel,xx_aqh0,xx_aqh1,xx_atemp0,xx_atemp1,xx_obcsn0,xx_obcsn1,xx_obcss0,xx_obcss1,xx_obcsw0,xx_obcsw1,xx_precip0,xx_precip1,xx_psbar_mean_dummy,xx_sstbar_mean_dummy,xx_swdown0,xx_swdown1,xx_uwind0,xx_uwind1,xx_vwind0,xx_vwind1,xx_wbar_mean_dummy
>>>> still to be recomputed :
>>>> apressure0,apressure1,aqh0,aqh1,atemp0,atemp1,empmr0,empmr1,etan,evap,gs,gsnm1,gt,gtnm1,gunm1,gvnm1,hflux0,hflux1,lwdown0,lwdown1,lwflux0,lwflux1,obns,obns0,obns1,obnt,obnt0,obnt1,obnu0,obnu1,obnv0,obnv1,obss,obss0,obss1,obst,obst0,obst1,obsu0,obsu1,obsv0,obsv1,obws,obws0,obws1,obwt,obwt0,obwt1,obwu0,obwu1,obwv0,obwv1,pload0,pload1,precip0,precip1,psbar,qnet0,qnet1,qsw0,qsw1,runoff0,runoff1,salt,saltflux0,saltflux1,sflux0,sflux1,siceload,sss0,sss1,sst0,sst1,sstbar,surfaceforcingtice,swdown0,swdown1,swflux0,swflux1,taux0,taux1,tauy0,tauy1,theta,totphihyd,ustress0,ustress1,uvel,uwind0,uwind1,vstress0,vstress1,vvel,vwind0,vwind1,wbar,wspeed0,wspeed1,wvel,xx_aqh0,xx_aqh1,xx_atemp0,xx_atemp1,xx_obcsn0,xx_obcsn1,xx_obcss0,xx_obcss1,xx_obcsw0,xx_obcsw1,xx_precip0,xx_precip1,xx_psbar_mean_dummy,xx_sstbar_mean_dummy,xx_swdown0,xx_swdown1,xx_uwind0,xx_uwind1,xx_vwind0,xx_vwind1,xx_wbar_mean_dummy
>>>> TAF RECOMPUTATION WARNING SEQU_STMT ad_input_code.f:441433 in
>>>> the_main_loop
>>>> triggered by :
>>>> apressure0,apressure1,aqh0,aqh1,atemp0,atemp1,empmr0,empmr1,etan,evap,gs,gsnm1,gt,gtnm1,gunm1,gvnm1,hflux0,hflux1,lwdown0,lwdown1,lwflux0,lwflux1,obns,obns0,obns1,obnt,obnt0,obnt1,obnu0,obnu1,obnv0,obnv1,obss,obss0,obss1,obst,obst0,obst1,obsu0,obsu1,obsv0,obsv1,obws,obws0,obws1,obwt,obwt0,obwt1,obwu0,obwu1,obwv0,obwv1,pload0,pload1,precip0,precip1,psbar,qnet0,qnet1,qsw0,qsw1,runoff0,runoff1,salt,saltflux0,saltflux1,sflux0,sflux1,siceload,sss0,sss1,sst0,sst1,sstbar,surfaceforcingtice,swdown0,swdown1,swflux0,swflux1,taux0,taux1,tauy0,tauy1,theta,totphihyd,ustress0,ustress1,uvel,uwind0,uwind1,vstress0,vstress1,vvel,vwind0,vwind1,wbar,wspeed0,wspeed1,wvel,xx_aqh0,xx_aqh1,xx_atemp0,xx_atemp1,xx_obcsn0,xx_obcsn1,xx_obcss0,xx_obcss1,xx_obcsw0,xx_obcsw1,xx_precip0,xx_precip1,xx_psbar_mean_dummy,xx_sstbar_mean_dummy,xx_swdown0,xx_swdown1,xx_uwind0,xx_uwind1,xx_vwind0,xx_vwind1,xx_wbar_mean_dummy
>>>> still to be recomputed :
>>>> psbar
>>>> ,sstbar
>>>> ,wbar,xx_psbar_mean_dummy,xx_sstbar_mean_dummy,xx_wbar_mean_dummy
>>>> TAF INFO ad_input_code.f:441474 : tape computations inserted
>>>> TAF RECOMPUTATION LOOP WARNING DOLOOP_STMT ad_input_code.f:441434 in
>>>> the_main_loop
>>>> extensive recomputations are required.
>>>> The responsible variables are :
>>>> psbar
>>>> ,sstbar
>>>> ,wbar,xx_psbar_mean_dummy,xx_sstbar_mean_dummy,xx_wbar_mean_dummy
>>>> *WARNING* : default new identifier ilev_21
>>>> changed to ilev_22
>>>> TAF RECOMPUTATION WARNING DOLOOP_STMT ad_input_code.f:441434 in
>>>> the_main_loop
>>>> .
>>>> .
>>>> .
>>>> .
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>
>
> _______________________________________________
> 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