#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)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
14871 | rlod | 2021-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
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.
In 14871: