Background:
The base code is a fork of Kate Hedstrom's ROMS with sea ice (my fork here, development branch is newbestnpz).
I'm attempting to compile the code with a variety of different biological modules, including COBALT and an updated version of BEST_NPZ. The BEST_NPZ updates involve migrating BEST_NPZ from a much older version of base ROMS, circa 2009, but with much more recently-updated biology. Getting my newer version of BEST_NPZ working in the Hedstrom base code has involved an extensive overhaul of the way biological tracer variables (pelagic, ice, and benthic) and diagnostic variables are defined, allocated, and passed between routines throughout the ROMS code. I assume the problem I'm hitting comes from a mistake on my part when adding these edits, most likely having something to do with the ice biology tracer boundary conditions (the only boundary-related code I knowingly touched).
The error:
I am currently compiling the code in 3 different configurations: 1) physics only, 2) COBALT biology, and 3) BEST_NPZ biology. All 3 compile without error. When running, I use as near-identical inputs as possible for all 3, including identical sets of forcing and boundary condition files. The physics-only and cobalt simulations run cleanly in my very short 1-day test runs. The BEST_NPZ option throws the following error:
Code: Select all
forrtl: severe (194): Run-Time Check Failure. The variable 'multifile_info_s2d_$LCHECK' is being used in 'check_multifile.f90(373,13)' without being defined
Image PC Routine Line Source
romsG_bestnpz_202 00000000019B6EB9 multifile_info_s2 373 check_multifile.f90
romsG_bestnpz_202 00000000019CA17B check_multifile_ 105 check_multifile.f90
romsG_bestnpz_202 0000000000770EE7 initial_ 280 initial.f90
romsG_bestnpz_202 000000000040C5F4 ocean_control_mod 120 ocean_control.f90
romsG_bestnpz_202 000000000040B3BD MAIN__ 73 master.f90
romsG_bestnpz_202 000000000040B25E Unknown Unknown Unknown
libc-2.17.so 00002B76C1974555 __libc_start_main Unknown Unknown
romsG_bestnpz_202 000000000040B169 Unknown Unknown Unknown
I have combed through my edits and cannot find any place that I touched the BRY array. Does anyone have any insight as to what might be happening here?
Attached are log files for the 3 simulations. I added a quick print statement to the check_multifile.f code (print *, S(i,ng)%Nfiles); you can see the printout of that diagnostic statement after the GET_STATE stuff and before GET_NGFLD (as expected in cobalt and physics-only run, not so for bestnpz).