[MITgcm-support] kpp_transport_ptr for pkg/ptracer
Dimitris Menemenlis
menemenlis at jpl.nasa.gov
Wed Sep 24 16:24:53 EDT 2003
I am appending some recent e-mail exchange re kpp_transport_ptr
for pkg/ptracer. More to come soon. Cheers, D.
From:
Martin Losch <mlosch at awi-bremerhaven.de>
To:
Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
Subject:
kpp_transport_ptr
Date:
Tue, 23 Sep 2003 08:43:28 +0200
Hi Dimitris,
I have a question about your recent changes in kpp_transport_ptr.F
You replaced gPtr(i,j,1,bi,bj,iTracer) with surfaceTendencyS(i,j,bi,bj)
for checkpoint51f_pre. I understand that gPtr was only used because
there is no surfaceTendencyPtr, but using surfaceTendencyS instead
looks wrong to me. It means that you force all passive tracers (I have
12 at the moment) with the same surface forcing of salinity (fresh
water flux). That doesn't seem right to me. But maybe I am missing an
important part of the code? Please tell me what made you change this
line of kpp_transport_ptr.F, understanding this is highly relevant to
me.
Cheers,
Martin
Martin Losch // mailto:mlosch at awi-bremerhaven.de
Alfred-Wegener-Institut für Polar- und Meeresforschung
Postfach 120161, 27515 Bremerhaven, Germany
Tel./Fax: ++49(471)4831-1872
From:
Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
Reply-To:
menemenlis at jpl.nasa.gov
To:
Martin Losch <mlosch at awi-bremerhaven.de>
Subject:
Re: kpp_transport_ptr
Date:
22 Sep 2003 23:50:22 -0700
Ouch! Thanks for reminding me. This is an unfinished bit of code. I
was using salinity as a test tracer. Now I need to replace
surfaceTendencyS with the real McCoy. I will fix this ASAP.
D.
--
Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
Jet Propulsion Lab, California Insitute of Technology
MS 300-323, 4800 Oak Grove Dr, Pasadena CA 91109-8099
tel: 818-354-1656; fax: 818-393-6720
Hi Martin, I have checked in the fix for kpp_transport_ptr.F
Because the kpp_transport routines are called before the external_forcing
routines, the net surface fluxes for each variable need to be computed/loaded
in a separate routine. For ptracers, the name of the subroutine is
ptracers_forcing_surf.F
This means that you need to move any code you may have had inside
ptracers_forcing.F and assign it instead to the surfaceTendencyPtr variable in
ptracers_forcing_surf.F
Instructions below will run a small verification test using salinity initial
and boundary conditions for 30 tracers in a 90x40x15 global configuration.
1 ===> get MITgcm code from cvs repository
CVSROOT=:pserver:cvsanon at mitgcm.org:/u/u0/gcmpack
cvs login ( CVS password: cvsanon )
cvs co MITgcm
2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory
cd MITgcm
cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
3 ===> compile and link
cd bin
cp ../verification/global_with_exf/code/* .
cp ../ocean_inversion_project/code/.genmakerc .
cp ../ocean_inversion_project/code/* .
rm ptracers_init.F ptracers_forcing_surf.F PTRACERS.h
rm ptracers_read_mask.F ptracers_read_takahashi.F
../tools/genmake
make depend
make
4 ===> execute
cd ../exe
cp ../verification/global_with_exf/input/eedata .
cp ../verification/global_with_exf/input/data.* .
cp ../verification/global_with_exf/input/POLY3.COEFFS .
ln -sf ../verification/global_with_exf/input/*.bin .
cp ../ocean_inversion_project/input/* .
cp data.test data
cp data.ptracers.test data.ptracers
mitgcmuv > output.txt
5 ===> check that PTRACER output and salinity output are identical.
diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data
--
Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
Jet Propulsion Lab, California Insitute of Technology
MS 300-323, 4800 Oak Grove Dr, Pasadena CA 91109-8099
tel: 818-354-1656; fax: 818-393-6720
More information about the MITgcm-support
mailing list