[MITgcm-support] bug in DIC package

David Ferreira dfer at mit.edu
Thu Feb 19 09:15:35 EST 2009


Ooop, probably my mistake. Some leftover from my attempt
to clean the package a few months ago.
In fact, the primary purpose of gsm_s was the computation of the virtual
flux of alkalinity which is now done by the ptracer package. Didn't notice
it was used in dic_surfforcing_init.F. I guess it could be brutally replaced
by 35 there.

BTW, DIC_BIOTIC is a fraud. It is equivalent to set the parameter alpha to
zero which now can be done without recompiling through data.dic.

Thanks for the bug report.
david


Martin Losch wrote:
> Hi Christoph,
>
> I would go so far as to say, that the computation of gsm_s, etc, which 
> currently takes place in gchem_forcing_sep (and is thus never done 
> when dic_surfforcing_init is called), should be moved into 
> dic_forcing_biotic, and then also into dic_surfforcing_init, but I 
> don't use this package and I don't know if there are other things to 
> consider.
>
> Martin
> On Feb 19, 2009, at 11:48 AM, Christoph Voelker wrote:
>
>> Hi,
>>
>> I think I have found a small bug in dic_surfforcing_init.F (using 
>> last weeks cvs checkout of MITgcm). The bug only matters when you do 
>> not set DIC_BIOTIC (which I did inadvertently), so it is probably 
>> unimportant in most cases. Anyway, it shouldn't be there, so here is 
>> my description
>>
>> The following lines in dic_surfforcing_init.F set the initial 
>> concentrations of alkalinity and phosphate for calculating the 
>> initial discribution of CO@ partial pressure. if DIC_BIOTIC is not 
>> set, alkalinity is set proportional to salinity.
>>
>> #ifdef DIC_BIOTIC
>>             surfalk(i,j) = PTRACER(i,j,klev,bi,bj,2)
>>     &                          * maskC(i,j,kLev,bi,bj)
>>             surfphos(i,j)= PTRACER(i,j,klev,bi,bj,3)
>>     &                          * maskC(i,j,kLev,bi,bj)
>> #else
>>             surfalk(i,j) = 2.366595 _d 0 * salt(i,j,kLev,bi,bj)/gsm_s
>>     &                          * maskC(i,j,kLev,bi,bj)
>>             surfphos(i,j)= 5.1225 _d -4 * maskC(i,j,kLev,bi,bj)
>> #endif
>>
>> However, at this point the global mean salinity gsm_s is not yet 
>> defined, so the calculation produces infinity. I think this has to do 
>> with the order in which the initializations for the different 
>> packages are done.
>>
>> Cheers, Christoph
>>
>> -- 
>> Dr. Christoph Voelker / Alfred-Wegener Institute for Polar and Marine 
>> Research
>> email: cvoelker at awi-bremerhaven.de / tel.#: ++49 471 4831 1848 /
>> mail: PO Box 120161, 27515 Bremerhaven, Germany
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list