[MITgcm-devel] ptracer adjoint

Matthew Mazloff mmazloff at ucsd.edu
Thu Dec 9 17:00:36 EST 2010


Hello,

I am running a passive tracer adjoint -- all is fine but 2 things I  
wanted to share

1)  to avoid recomp had to do
login4% diff obcs_ad_check_lev1_dir.h ../../../pkg/obcs/.
67,70d66
< #ifdef ALLOW_OBCS_PRESCRIBE
< CADJ STORE OBNptr0 = comlev1, key = ikey_dynamics
< CADJ STORE OBNptr1 = comlev1, key = ikey_dynamics
< #endif /* ALLOW_OBCS_PRESCRIBE */
74,77d69
< #ifdef ALLOW_OBCS_PRESCRIBE
< CADJ STORE OBSptr0 = comlev1, key = ikey_dynamics
< CADJ STORE OBSptr1 = comlev1, key = ikey_dynamics
< #endif /* ALLOW_OBCS_PRESCRIBE */
81,84d72
< #ifdef ALLOW_OBCS_PRESCRIBE
< CADJ STORE OBEptr0 = comlev1, key = ikey_dynamics
< CADJ STORE OBEptr1 = comlev1, key = ikey_dynamics
< #endif /* ALLOW_OBCS_PRESCRIBE */
88,91d75
< #ifdef ALLOW_OBCS_PRESCRIBE
< CADJ STORE OBWptr0 = comlev1, key = ikey_dynamics
< CADJ STORE OBWptr1 = comlev1, key = ikey_dynamics
< #endif /* ALLOW_OBCS_PRESCRIBE */


2) ADJptracer is not written by default.  I attempted to add it to  
adcommon.h and addummy_in_stepping.F, but for whatever reason the  
output written was all zeros.  So I just hardcoded
       IF ( MOD((myIter-1),432).eq.0) THEN
         WRITE(suff,'(I10.10)') myIter
        CALL WRITE_FLD_XYZ_RL(
      &       'ADJptracer.',suff, adptracer, myIter, myThid)
       ENDIF
to subroutine adthermodynamics from ad_taf_output.f
and all seems ok...


Thought sharing this experience may help....
-Matt






More information about the MITgcm-devel mailing list