-
Notifications
You must be signed in to change notification settings - Fork 0
Issues and tips
Some common issues we've encountered during compilation or run time and how they were resolved
You may need to add:
> WARN += -Wno-error=pointer-bool-conversion
This prevents warnings associated with converting pointers to boolean from halting compilation
> WARN += -Wno-error=misleading-indentation
This prevents warnings associated with improper indentation (Due to stricter rules as newer versions of gcc are used) from halting compilation
> WARN += -Wno-nullability-completeness
> WARN += -Wno-error=unused-but-set-variable
> WARN += -Wno-error=implicit-function-declaration
-
dfRead: Can't open /app/model/xxxx
- Check that there are no trailing spaces at end of file path
-
Updates in the atlantis code base often contain additional parameters in the prm files. Errors at run time will often inform you which parameter(s) are missing from which prm file(s). Often adding the parameter with a default value = 0 will be sufficient.
-
/bin/sh: 1: ./RunAtlantis.sh: not found
- often due to having a windows end of line (EOL) format (CR LF). Convert to Linux EOF (LF) using notepad++ (Edit -> EOL Conversions -> Unix (LF)). -
/bin/sh: 1: ./RunAtlantis.sh: Permission denied
- often due to the file not being executable. This can happen if copied from a windows machine to a Linux server.chmod 774 RunAtlantis.sh
should make it executable to you and your group -
Util_Read_Functional_Group_XML: you have MAK as fished but not impacted, set impacted to 1 for this group to continue please
- The order of columns in groups file are not correct. (NumMigrations, MultiYrMigrations, ExternalReproduction, RecruitType)
Only some versions of the code base can be compiled or run. We have had success with the following versions. While getting the model to compile is a good first step. Getting it to run for different versions of the code base using the same parameter files can be challenging since the models requirements for inputs changes over time.
- 6536
- 6580 (Wont run with migration turned on for NEUS model)
- 6599 (Wont run with migration turned on for NEUS model. Requires minor changes to configure.ac file)
- 6626 (requires changes to groups.csv)
- 6631
- 6645 (requires changes to nc file)
- 6665 (requires changes to groups.csv)
NEUS atlantis focused much of its energy calibrating to atlantis v6536.
Demands on the NEUS atlantis model required an update to a later version of the atlantis code.
Later versions contain increased functionality (integration with R, forcing spatial abundance -box level proportions through time, forcing growth by scaling mum
parameter, including contaminants and pollutants) and various bug fixes, one of which related to migrating species.
Comparisons of model output between different versions of the code is vitally important. Updates to the code should not drastically effect the behavior of the model. However when updating from NEUS from v6536 to v6665 the model output was drastically different.
This was due to several reasons:
- There is a bug with constant recruitment
flagrecruitXXX = 1
. Solution: Changed to Beverton-Holt recruitment (flagrecruitXXX = 3
) - There still seems to be an issue with migrating species. Solution: Unresolved
- Set
flagtempdepend = 1
to get the proper environmental scaling on recruitment. - Set
XXX_k_temp_const = 2
as a requiremnt forflagtempdepend
(although doesn't have a function in model). Expand ... - Some internal calibration groups with
flagrecruitXXX = 12
. Expand ... - Set
flag_old_embryo_init = 0
Expand ...
Atlantis manual chapter 2.7 describes how to edit nc files using two functions, ncdump and ncgen, from the NetCDF libraries.
To edit an nc file called neus-init.nc, navigate to directory (using powershell) where nc file lives:
ncdump neus-init.nc > neus-init.cdf
This creates a file called neus-init.cdf which can be edited in any text editor. Make any changes needed.
When finished, save the cdf file and then convert it back to an nc file using ncgen
ncgen -b -o neus-init.nc neus-init.cdf
If you receive a message Input file contains a BOM indicating a non-UTF8 encoding you will need to encode the file prior to saving. To do this:
- Open notepad+
- Select Encoding -> Convert to UTF-8
- Save
-
To run multiple containers with each container dedicated to its own core
podman run --cpuset-cpus=X
where X is the core number
Running Atlantis
- Home
- Getting started
- Run NEUS Atlantis
- Using CDF distiller
- NOAA Cloud setup
- Issues & Tips
- Atlantis release updates
Calibration
Model Components
Model Criteria
Documentation