[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