[MITgcm-devel] Inverted echo sounders

Matthew Mazloff mmazloff at ucsd.edu
Mon May 17 18:23:02 EDT 2010


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




More information about the MITgcm-devel mailing list