[MITgcm-devel] [MITgcm-cvs] MITgcm/pkg/obcs CVS Commit

Jean-Michel Campin jmc at ocean.mit.edu
Wed Nov 24 11:04:31 EST 2010


Hi Martin,

On Wed, Nov 24, 2010 at 09:49:45AM +0100, Martin Losch wrote:
> This cost me most of yesterday, before I noticed that (o:

Well, we know how to avoid this problem, and the solution would
be to have an AD test using OBCS.

> The reason why it took me so long to track down this problem was that my compiler is really slow on large fields (e.g. ad_taf_output.f takes about 1h to compile). I found a c-program (f77split) that divides ad_taf_output.f into many small files. I do not want to propose to do this in general, but I'd like to occasionally patch my own makefile, so I can be faster in debugging. Do you have a feeling if it is possible to do that, e.g. change the target:
> ad_taf_output.f: ad_input_code.f
> 	$(TAF) $(AD_TAF_FLAGS) $(TAF_EXTRA) ad_input_code.f
> 	ls -l ad_input_code_ad.f
> 	cat ad_input_code_ad.f | sed -f $(TOOLSDIR)/adjoint_sed > ad_taf_output.f
> 	f77split ad_taf_output.f
> 	and then append $(OBJFILES).
> Do you, off-hand, know if this possible and how?

I am not sure how this will fit into the current genmake/Makefile.
And that's why I fwd this to devel list.

One thing I sometimes do is putting ad_taf_output.f in the NOOPTLIST
(with -ieee option in the optfile) and cooking some specific options
for NOOPTFLAG that speed up the compiler (e.g., drop the optimization 
across S/R, drop some debug/check, lower the optimization ...). 
And once you know everything is working, then you can return to a 
normal (but long) compilation.

Thanks,
Jean-Michel

> 
> Martin
> On Nov 23, 2010, at 9:39 PM, Jean-Michel Campin wrote:
> 
> > Update of /u/gcmpack/MITgcm/pkg/obcs
> > In directory forge:/tmp/cvs-serv9571
> > 
> > Modified Files:
> > 	obcs_ad_diff.list 
> > Log Message:
> > forgot to add back obcs_prescribe_exchanges.f (Thanks to Holly)
> > 
> > 
> > _______________________________________________
> > MITgcm-cvs mailing list
> > MITgcm-cvs at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-cvs
> 



More information about the MITgcm-devel mailing list