New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#2672 (Missing initialisation of ln_trc_ais in trcnam_age.F90.) – NEMO

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#2672 closed Bug (fixed)

Missing initialisation of ln_trc_ais in trcnam_age.F90.

Reported by: acc Owned by: systeam
Priority: low Milestone: 2021 WP
Component: TOP Version: trunk
Severity: minor Keywords:
Cc:

Description

Context

SETTE testing with AGRIF_DEMO gave inconsistent results with repeat runs that should be identical. The only differences in ocean.output was related to nutrients input from the Antarctic Ice-shelves (AIS). It seems a missing initialisation in trcnam_age was to blame.

Analysis

Typical inconsistency is shown here:

sdiff -s  NEMO_VALIDATION_HALO1/WAGRIF_DEMO_ST/X86_ARCHER2-Cray/14820+/LONG/ocean.output NEMO_VALIDATION_HALO2/WAGRIF_DEMO_ST/X86_ARCHER2-Cray/14820+/LONG/ocean.output
     1        Age    F    F    F    F    F            |      1        Age    F    F    F    F    T
  Global mean humidity at kt = nit000:  1.11215417170433852E- |   Global mean humidity at kt = nit000:  1.11215390167460054E-
 tracer nb : 1    name :       Age    mean :  0.1705089942E-0 |  tracer nb : 1    name :       Age    mean :  0.1705106879E-0
 tracer nb : 1    name :       Age    mean :  0.3405217970E-0 |  tracer nb : 1    name :       Age    mean :  0.3405235913E-0

sdiff -s  NEMO_VALIDATION_HALO1/WAGRIF_DEMO_ST/X86_ARCHER2-Cray/14820+/LONG/1_ocean.output NEMO_VALIDATION_HALO2/WAGRIF_DEMO_ST/X86_ARCHER2-Cray/14820+/LONG/1_ocean.output
     1        Age    F    F    F    F    T            |      1        Age    F    F    F    F    F
  Global mean humidity at kt = nit000:  1.60905705892214514E- |   Global mean humidity at kt = nit000:  1.60905701035166313E-
 tracer nb : 1    name :       Age    mean :  0.1706099178E-0 |  tracer nb : 1    name :       Age    mean :  0.1706103292E-0
 tracer nb : 1    name :       Age    mean :  0.3407879931E-0 |  tracer nb : 1    name :       Age    mean :  0.3407876146E-0

sdiff -s  NEMO_VALIDATION_HALO1/WAGRIF_DEMO_ST/X86_ARCHER2-Cray/14820+/LONG/2_ocean.output NEMO_VALIDATION_HALO2/WAGRIF_DEMO_ST/X86_ARCHER2-Cray/14820+/LONG/2_ocean.output
  Global mean humidity at kt = nit000:  1.96291437023064872E- |   Global mean humidity at kt = nit000:  1.9629143918481807E-3
 tracer nb : 1    name :       Age    mean :  0.1684214472E-0 |  tracer nb : 1    name :       Age    mean :  0.1684250432E-0
 tracer nb : 1    name :       Age    mean :  0.3339950262E-0 |  tracer nb : 1    name :       Age    mean :  0.3339904434E-0

where AIS is the last logical on the first returned line

Fix

Add:

      ln_trc_ais(jp_age) = .false. 

to trcnam_age.F90. (Done at changeset:14842 )

This fixes the immediate problem with the SETTE test using the age tracer. However, the treatment still looks inconsistent for other tracers. I.e. there is no initialisation in trcnam_c14.F90 or trcnam_cfc.F90 or a default setting in trcini.F90. The implementation of AIS needs to be checked.

Commit History (1)

ChangesetAuthorTimeChangeLog
14871rlod2021-05-17T11:50:39+02:00

Bug fix of initialisation of ln_trc_ais in C14 and CFC modules, see ticket #2672

Change History (3)

comment:1 Changed 3 years ago by rlod

In 14871:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:2 Changed 3 years ago by rlod

  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 3 years ago by acc

This only seems to be a partial fix. What about cfc12 and sf6 in trcnam_cfc.F90? And a default setting in trcini.F90? Should it be included in this block, for example?:

      IF( .NOT.ln_trcbc ) THEN
         DO jn = 1, jp_bgc
            ln_trc_sbc(jn) = .FALSE.
            ln_trc_cbc(jn) = .FALSE.
            ln_trc_obc(jn) = .FALSE.
         END DO
      ENDIF

I don't know enough to be certain but it looks probable. Also ln_trcais seems disconnected; should ln_trc_ais(jn) be .false. for all tracers if ln_trcais is .false.? It doesn't seem to be enforced anywhere.

Note: See TracTickets for help on using tickets.