[MITgcm-devel] ptracer adjoint
Matthew Mazloff
mmazloff at ucsd.edu
Tue Dec 14 00:56:44 EST 2010
Hi Jean-Michel,
I do not provide an OB ptracer value -- but I am using OBCS prescribe
so I thought this would be ok. I am not providing an obcs_file so I
figured the prescribe values would stay 0....hmmm.....I will look into
the code more...
I think I will try ensuring the open boundary sensitivities drop to
zero by hardcoding the ptracer field there with:
pFld(I,J)=0.0
in obcs_apply_ptracer.F
not sure if this will work....
Also I do notice quite a bit of unphysical periodicity occurring in
the sensitivity...probably related I would think...so maybe I will try
setting the overlap regions to pFld=0 in obcs_apply_ptracer as well...
Thanks for you help!
-Matt
On Dec 13, 2010, at 9:29 PM, Jean-Michel Campin wrote:
> Hi Matt,
>
> I wonder if this is not related to the default OB values
> (i.e., in case you don't provide an OB ptracer value,
> it takes the value next to the OB), since, in a FWD run,
> Oliver experienced some exponential growth of tracer
> concentration next to the OB.
>
> Are you in this case (default OB values) ?
>
> Cheers,
> Jean-Michel
>
> On Mon, Dec 13, 2010 at 08:07:51PM -0800, Matthew Mazloff wrote:
>> Hello,
>>
>> When the sensitivity to passive tracer concentration hits an open
>> boundary the solution blows up -- anyone seen this before? Any
>> ideas?
>>
>> Thanks
>> Matt
>>
>>
>>
>> On Dec 9, 2010, at 2:00 PM, Matthew Mazloff wrote:
>>
>>> 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
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list