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

Martin Losch Martin.Losch at awi.de
Mon Sep 5 03:45:52 EDT 2011


Hi Jean-Michel,

thanks for stopping the uncontrolled growth of number of S/Rs, in particular since I am responsible (in part) for this. I found

> csysm15::build_ad> grep -i exf_swapffields *.F | grep -i call
> ctrl_get_gen.F:        call exf_SwapFFields( xx_gen0, xx_gen1, mythid )
> exf_set_gen.F:            call exf_SwapFFields( gen0, gen1, mythid )
> exf_set_obcs.F:            CALL exf_swapffields_xz( obcs_xz_0, obcs_xz_1, nNz,myThid )
> exf_set_obcs.F:            CALL exf_swapffields_yz( obcs_yz_0, obcs_yz_1, nNz,myThid )
> exf_set_obcs.F:            CALL exf_swapffields_xz( obcs_x_0, obcs_x_1, 1,myThid )
> exf_set_obcs.F:            CALL exf_swapffields_yz( obcs_y_0, obcs_y_1, 1,myThid )
> exf_set_runoff.F:            call exf_SwapFFields( gen0, gen1, mythid )
> exf_set_uv.F:            call exf_SwapFFields( uvec0, uvec1, mythid )
> exf_set_uv.F:            call exf_SwapFFields( vvec0, vvec1, mythid )

and all the exf_swapffields* routines do is copy a field an reset another. (exf_set_runoff is basically a cop of exf_set_gen.) 
I am wondering wether we need exf_swapffields* at all. They might improve readability a little, but could be replaced by a comment ( "swap forcing fields") and in-lined code for better performance (?) (and fewer fortran files). What do you (and others) think? Is it worth the effort? (in F90 it would mean be just two lines + comment instead of the s/r-call (o:) 

Martin


On Sep 2, 2011, at 8:22 PM, Jean-Michel Campin wrote:

> Update of /u/gcmpack/MITgcm/pkg/exf
> In directory forge:/tmp/cvs-serv14770
> 
> Modified Files:
> 	exf_set_obcs.F 
> Log Message:
> - add argument nNz (= number of levels) to S/R EXF_SET_OBCS_XZ &
>  EXF_SET_OBCS_YZ ; disable S/R EXF_SET_OBCS_X & EXF_SET_OBCS_Y.
> - fix for multi-threaded (assuming loaded arrays are shared).
> 
> 
> _______________________________________________
> MITgcm-cvs mailing list
> MITgcm-cvs at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-cvs




More information about the MITgcm-devel mailing list