[MITgcm-cvs] MITgcm/pkg/seaice CVS Commit

Martin Losch mlosch at forge.csail.mit.edu
Mon Jun 15 11:08:51 EDT 2015


Update of /u/gcmpack/MITgcm/pkg/seaice
In directory forge:/tmp/cvs-serv23669/pkg/seaice

Modified Files:
	seaice_lsr.F 
Log Message:
modify seaice_lsr.F in order to improve the gradient computations; for
SEAICE_VECTORIZE_LSR defined,
  - move the loops over which the tridiagonal solvers (seaice_lsr_tridiagu/v)
    sweep to the outside, 
  - remove store directives and add "CADJ loop sequential" directives
    in analogy to model/src/solve_tridiagonal.F
  - replace many "#ifdef SEAICE_VECTORIZE_LSR_ZEBRA" by variable loop
    boundaries to yield more readable code. This has also the charming side
    effect that your can use SEAICE_VECTORIZE_LSR_ZEBRA without 
    SEAICE_VECTORIZE_LSR (i.e. adjoint without recomputations in 
    seaice_lsr_tridiagu/v now requires either of these flags, vectorization
    still requires SEAICE_VECTORIZE_LSR with SEAICE_VECTORIZE_LSR_ZEBRA as
    an additional option)
  The tridiagonal solvers are now completely analoguous to solve_tridiagonal.F
  but the adjoint gradients (which are affected by this change) still explode.




More information about the MITgcm-cvs mailing list