Passive tracers

Suggest improvements/optimizations to the ROMS code.

Moderators: arango, robertson

Post Reply
Message
Author
staalstrom
Posts: 31
Joined: Mon Feb 04, 2008 3:43 pm
Location: NIVA, OSLO, NORWAY

Passive tracers

#1 Unread post by staalstrom »

Hi I'm a new user to this forum and also a new ROMS user.

We have set up the model for a part of the Norwegian Western coast,
and we want to find out the relation of the water between different fish farms.
So I want to simulate a passive tracer.

I guess i define T_PASSIVE, set NPT=1 (one passive tracer) and set
Hout(inert)==T to write the result to the history NetCDF file.

But, where can I put in the initial condition for the passive tracer?
And if I want more passive tracers (NPT=2) do I have to write
Hout(inert)== T T ??

brds
Andre Staalstrom

zhang
Posts: 27
Joined: Fri Mar 11, 2005 9:17 pm
Location: Woods Hole Oceanographic Institution

#2 Unread post by zhang »

You need to add passive tracer concentration variable in your initial condition file. This variable should have the same dimension as temperature (temp) and salinity (salt). The name of the variable should be consistent with that in varinfo.dat (the default one is 'dye_'). If you stick with the default name, the name of your first passive tracer should be 'dye_01', the second one 'dye_02'.

Yes, you should set 'Hout(inert)== T T' if you have two passive tracers.

cmohn
Posts: 1
Joined: Thu Jun 10, 2004 1:11 pm
Location: National University of Ireland Galway

#3 Unread post by cmohn »

Alternatively, you could use the analytical tracer option to start with (I am still using ROMS 2.2, things might have changed since then):

1. Tracer initialisation at t=0:

Go to analytical.F and prescribe your initial analytical tracer fields in the subroutine ana_passive(). There is a CPP option MY_OPTION which can be used as a template.

The next step is to define the CPP options:

#DEFINE T_PASSIVE
#DEFINE ANA_INITIAL
#DEFINE ANA_PASSIVE

2. Tracer initialisation at t>0:

Some of my applications required a spin-up of the physical fields before the release of passive tracers. To do this I run the model from a restart file (ocean_rst.nc) and modified initial.F:

if defined ANA_PASSIVE && defined SOLVE3D
!
! Analytical initial conditions for inert passive tracers.
!
IF (nrrec.ne.0) THEN

This is certainly not an elegant solution, but it worked.
Finally, I re-defined the CPP options:

#DEFINE T_PASSIVE
#UNDEF ANA_INITIAL
#DEFINE ANA_PASSIVE

Regards, Christian

Post Reply