Understanding tracer identification indices

Discussion about coupled ecosystem models

Moderators: arango, robertson

Post Reply
Message
Author
trinefrisbaek
Posts: 6
Joined: Mon May 09, 2016 4:05 pm
Location: University of Copenhagen

Understanding tracer identification indices

#1 Unread post by trinefrisbaek »

Dear all
I am sorry for the very basic subject, but with the new cpp options for bio_Fennel i have found myself struggling to make sense of the tracer identification indices and need some advise to how to interpret it relative to the idbio numbering.
As a test lets say that I have defined PO4, Oxygen and CARBON and now I would like to add a sponge for only PO4. In the bio_Fennel.in glossery I can read that:

Code: Select all

!  GLOSSARY:
!  =========
!
!------------------------------------------------------------------------------
! Fennel et al (2006), Nitrogen-based Biological Model Parameters. Currently,
! it can be configured with 15 biological tracers:
!
! idbio( 1)     NO3               Nitrate concentration
! idbio( 2)     NH4               Ammonium concentration
! idbio( 3)     chlorophyll       Chorophyll concentration
! idbio( 4)     phytoplankton     Phytoplankton biomass
! idbio( 5)     zooplankton       Zooplankton biomass
! idbio( 6)     LdetritusN        Large detritus N-concentration
! idbio( 7)     SdetritusN        Small detritus N-concentration
! idbio( 8)     LdetritusC        Large detritus C-concentration     if CARBON
! idbio( 9)     SdetritusC        Small detritus C-concentration     if CARBON
! idbio(10)     TIC               Total inorganic carbon             if CARBON
! idbio(11)     alkalinity        Alkalinity                         if CARBON
! idbio(12)     oxygen            Oxygen concentration               if OXYGEN
! idbio(13)     PO4               Phosphate concentration            if PO4
! idbio(14)     RdetritusN        River detritus N-concentration     if RIVER_DON
! idbio(15)     RdetritusC        River detritus C-concentration     if RIVER_DON
which makes me believe that I can change

Code: Select all

LtracerSponge == 15*F
to

Code: Select all

LtracerSponge == 12*F T 2*F
and thereby add sponge to PO4. However, when i look at the log file, I have instead turned on sponge for oxygen. If I instead change to

Code: Select all

LtracerSponge == 7*F T 7*F
the log tells me that I have turned on sponge for PO4.

When I have a look in fennel_mod.h I can see that:

Code: Select all

!-----------------------------------------------------------------------
!  Initialize tracer identification indices.
!-----------------------------------------------------------------------
!
      ic=NAT+NPT+NCS+NNS
      DO i=1,NBT
        idbio(i)=ic+i
      END DO
      iNO3_=ic+1
      iNH4_=ic+2
      iChlo=ic+3
      iPhyt=ic+4
      iZoop=ic+5
      iLDeN=ic+6
      iSDeN=ic+7
      ic=ic+7
# ifdef RIVER_DON
      iRDeN=ic+1
      ic=ic+1
# endif
# ifdef PO4
      iPO4_=ic+1
      ic=ic+1
# endif
# ifdef CARBON
      iLDeC=ic+1
      iSDeC=ic+2
      iTIC_=ic+3
      iTAlk=ic+4
      ic=ic+4
#  ifdef RIVER_DON
      iRDeC=ic+1
      ic=ic+1
#  endif
# endif
# ifdef OXYGEN
      iOxyg=ic+1
      ic=ic+1
# endif
So with NAT=2 and PO4, Oxygen and CARBON defined I calculate iPO4_ to be 10. It would therefore make sense for me to use idbio(8) when defining PO4.
Can anyone help me understand if I am understanding this all wrong? Are the tracer identification indices not related to the idbio numbering and am I missing something obvious?

Thank you!

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: Understanding tracer identification indices

#2 Unread post by arango »

Yes, the biology tracer numbering change according to the CPP options. When in doubt, I always recommend to everybody in this forum to check the standard output very carefully, and pipeline it to a log file instead of the screen. The information that you need is always there. For the upwelling test with BIO_FENNEL, I get:

Code: Select all

Fennel Model Parameters, Grid: 01
 =================================
 ...
 
 0.0000E+00  nl_tnu2(03)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 03: NO3
 0.0000E+00  nl_tnu2(04)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 04: NH4
 0.0000E+00  nl_tnu2(05)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 05: chlorophyll
 0.0000E+00  nl_tnu2(06)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 06: phytoplankton
 0.0000E+00  nl_tnu2(07)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 07: zooplankton
 0.0000E+00  nl_tnu2(08)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 08: LdetritusN
 0.0000E+00  nl_tnu2(09)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 09: SdetritusN
 0.0000E+00  nl_tnu2(10)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 10: RdetritusN
 0.0000E+00  nl_tnu2(11)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 11: PO4
 0.0000E+00  nl_tnu2(12)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 12: LdetritusC
 0.0000E+00  nl_tnu2(13)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 13: SdetritusC
 0.0000E+00  nl_tnu2(14)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 14: TIC
 0.0000E+00  nl_tnu2(15)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 15: alkalinity
 0.0000E+00  nl_tnu2(16)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 16: RdetritusC
 0.0000E+00  nl_tnu2(17)       NLM Horizontal, harmonic mixing coefficient
                                 (m2/s) for tracer 17: oxygen
          F  LtracerSponge(03) Turning OFF sponge on tracer 03: NO3
          F  LtracerSponge(04) Turning OFF sponge on tracer 04: NH4
          F  LtracerSponge(05) Turning OFF sponge on tracer 05: chlorophyll
          F  LtracerSponge(06) Turning OFF sponge on tracer 06: phytoplankton
          F  LtracerSponge(07) Turning OFF sponge on tracer 07: zooplankton
          F  LtracerSponge(08) Turning OFF sponge on tracer 08: LdetritusN
          F  LtracerSponge(09) Turning OFF sponge on tracer 09: SdetritusN
          F  LtracerSponge(10) Turning OFF sponge on tracer 10: RdetritusN
          F  LtracerSponge(11) Turning OFF sponge on tracer 11: PO4
          F  LtracerSponge(12) Turning OFF sponge on tracer 12: LdetritusC
          F  LtracerSponge(13) Turning OFF sponge on tracer 13: SdetritusC
          F  LtracerSponge(14) Turning OFF sponge on tracer 14: TIC
          F  LtracerSponge(15) Turning OFF sponge on tracer 15: alkalinity
          F  LtracerSponge(16) Turning OFF sponge on tracer 16: RdetritusC
          F  LtracerSponge(17) Turning OFF sponge on tracer 17: oxygen
Notice that the information that you seak is everywhere! So then, you have access to all the biological indices.

trinefrisbaek
Posts: 6
Joined: Mon May 09, 2016 4:05 pm
Location: University of Copenhagen

Re: Understanding tracer identification indices

#3 Unread post by trinefrisbaek »

Dear Arango
Thank you for taking your time to reply. And you are completely right, the output file is a huge help. I think the point I am trying to make is that I think that a lot of (new) users use the glossary at the end of bio_Fennel.in, and in this case the order of tracers is misleading. In the tracer identification indices in fennel_mod.h PO4 is before CARBON which is before OXYGEN, so I don't think the order written in the glossary file can ever be correct. But I did not know if I should trust the output file or the glossary. And there might be others that will ask themselves the same question.
But now I know. Thank you for your answer!
Trine

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: Understanding tracer identification indices

#4 Unread post by arango »

The order in the GlOSSARY is subject to the CPP options activated by the user. In the test repository, I show how to use the compact form of the standard input parameters for biology. See upwelling Test Case. It is always advantageous to check standard output since ROMS has lots of CPP options. Lots of questions in this forum can be automatically answered if the users check carefully the standard output log. That's the reason why the standard output is so detailed. You cannot believe how much time I spent coding detailed information to standard output.

Post Reply