Opened 3 years ago

Last modified 3 years ago

#86 new enhancement

Improve checks & error messages in initracer.F

Reported by: emillour Owned by:
Priority: major Milestone:
Component: MARS GCM Version:
Keywords: Cc:

Description

Suggestion by Christophe & Vincent: some missing error messages in initracer.F; additional checks needed

+ mention by Romain of misleading message when some tracers in traceur.def don't match the flags in callphys.def

Change History (2)

comment:1 Changed 3 years ago by emillour

Summary: Imrpove checks & error messages in initracer.FImprove checks & error messages in initracer.F

comment:2 Changed 3 years ago by cmathe

This subroutine is divided into three parts:

(1) Check tracers are known

(2) Initialize some variables

(3) Verify if all needed tracers are correctly called, regarding flags used.

Suggested improvements

  • Inverse (2) and (3)
  • In (1):

Modify

      ! check that we identified all tracers:
      if (count.ne.nq) then
        write(*,*) "initracer: found only ",count," tracers"
        write(*,*) "               expected ",nq
        do iq=1,count
          write(*,*)'      ',iq,' ',trim(noms(iq))
        enddo
        call abort_physic("initracer","tracer mismatch",1)
      else
        write(*,*) "initracer: found all expected tracers, namely:"
        do iq=1,nq
          write(*,*)'      ',iq,' ',trim(noms(iq))
        enddo
      endif

to

      ! check that we identified all tracers:
      if (count.ne.nq) then
        write(*,*) "initracer: found only ",count," tracers"
        write(*,*) "in his database, you have given ",nq
        do iq=1,count
          write(*,*)'      ',iq,' ',trim(noms(iq))
        enddo
        call abort_physic("initracer","tracer mismatch/misspelling",1)
      else
        write(*,*) "initracer: found all tracers in his database, namely:"
        do iq=1,nq
          write(*,*)'      ',iq,' ',trim(noms(iq))
        enddo
      endif
Note: See TracTickets for help on using tickets.