[MITgcm-support] Advice on RBCS
Christopher L. Wolfe
clwolfe at ucsd.edu
Wed Jul 11 21:40:06 EDT 2007
Hi modelers,
I'm trying to do some Lagrangian diagnostics to determine what
fraction of the water at point (x,y,z) was last exposed to the
surface in the certain geographical region. I'd like to do this by
using a ptracer which is (rapidly) relaxed relaxed to 1 in a certain
surface patch, 0 over the rest of the surface, and not relaxed in the
interior. The initial condition for the ptracer is the same as the
relaxation pattern. I think I've got the ptracers package configured
correctly, but I don't think the rbcs package is working correctly,
as the total amount of ptracer remains quite close to the initial
value, while the surface concentration rapidly decays toward zero.
I'm not entirely sure what I'm doing with the rbcs package, so any
advice would be appreciated.
The configuration files follow.
Thanks for your help,
Christopher
My data.ptracers file is
&PTRACERS_PARM01
PTRACERS_numInUse=2,
% model is started from pickup. 0014850000.data
PTRACERS_Iter0=0014850000,
# tracer 1 -
PTRACERS_names(1)='tracer01',
PTRACERS_long_names(1)='tracer01',
PTRACERS_units(1)='mol/m3',
PTRACERS_advScheme(1)=33,
PTRACERS_diffKh(1)=8.e-5,
PTRACERS_diffKr(1)=8.E-5,
PTRACERS_useGMRedi(1)=.FALSE. ,
PTRACERS_useKPP(1)=.FALSE. ,
PTRACERS_initialFile(1)='tracer01_init.bin',
# tracer 2 -
PTRACERS_names(2)='tracer02',
PTRACERS_long_names(2)='tracer02',
PTRACERS_units(2)='mol/m3',
PTRACERS_advScheme(2)=33,
PTRACERS_diffKh(2)=8.e-5,
PTRACERS_diffKr(2)=8.E-5,
PTRACERS_useGMRedi(2)=.FALSE. ,
PTRACERS_useKPP(2)=.FALSE. ,
PTRACERS_initialFile(2)='tracer02_init.bin',
/
My data.rbcs is
&RBCS_PARM01
tauRelaxT = 0.,
tauRelaxS = 0.,
relaxMaskFile(1) = ' ',
relaxMaskFile(2) = ' ',
relaxMaskFile(3) = 'tracer01_mask.bin',
relaxMaskFile(4) = 'tracer02_mask.bin',
relaxTFile = ' ',
relaxSFile = ' ',
rbcsIniter = 0,
rbcsForcingPeriod = 15552000.,
rbcsForcingCycle = 0.,
useRBCtemp = .FALSE.,
useRBCsalt = .FALSE.,
useRBCptracers = .TRUE.,
/
&RBCS_PARM02
useRBCptrnum(1)=.TRUE.,
tauRelaxPTR(1) = 1200.,
relaxPtracerFile(1) = 'tracer01_init.bin',
useRBCptrnum(2)=.TRUE.,
tauRelaxPTR(2) = 1200.,
relaxPtracerFile(2) = 'tracer02_init.bin',
/
The init and mask files are generated by the following matlab script:
% Dimensions of grid
NX=448;
NY=1792;
NZ=20;
ieee='b';
accuracy='real*8';
ixS = 1:round(NY/8);
ixN = NY-round(NY/8):NY;
% the topography
mask = ones(NX,NY);
mask(:,NY) = 0;
mask(NX,round(NY/8)+1:NY) = 0;
tracer01_init = zeros(NX,NY,NZ);
tracer02_init = zeros(NX,NY,NZ);
tracer01_mask = zeros(NX,NY,NZ);
tracer02_mask = zeros(NX,NY,NZ);
tracer01_init(:,ixN,1) = 1;
tracer02_init(:,ixS,1) = 1;
tracer01_mask(:,:,1) = 1;
tracer02_mask(:,:,1) = 1;
% don't relax inside the walls
for nz = 1:NZ
tracer01_init(:,:,nz) = mask.*tracer01_init(:,:,nz);
tracer02_init(:,:,nz) = mask.*tracer02_init(:,:,nz);
tracer01_mask(:,:,nz) = mask.*tracer01_mask(:,:,nz);
tracer02_mask(:,:,nz) = mask.*tracer02_mask(:,:,nz);
end
fid = fopen('tracer01_init.bin','w',ieee);
fwrite(fid,tracer01_init,accuracy);
fclose(fid);
fid = fopen('tracer02_init.bin','w',ieee);
fwrite(fid,tracer02_init,accuracy);
fclose(fid);
fid = fopen('tracer01_mask.bin','w',ieee);
fwrite(fid,tracer01_mask,accuracy);
fclose(fid);
fid = fopen('tracer02_mask.bin','w',ieee);
fwrite(fid,tracer02_mask,accuracy);
fclose(fid);
-----------------------------------------------------------
Dr. Christopher L. Wolfe 858-534-4560
Physical Oceanography Research Division OAR 357
Scripps Institution of Oceanography, UCSD clwolfe at ucsd.edu
-----------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20070711/ac62f67d/attachment.htm>
More information about the MITgcm-support
mailing list