[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