Diatoms Nudging for Atlantis Ecosystem Model
A configuration of the Atlantis Ecosystem model for the Salish Sea is being run for decades long time scales. It is initialized and forced with seawater velocity, temperature, and salinity fields from the SalishSeaCast NEMO model 2007 to present hindcast. The 15+ years of SalishSeaCast fields are used in a repeating cycle over the multiple decades of the Atlantis run durations.
It has been identified that the biomass of some functional groups in the Salish Sea ecology in Atlantis are not as accurate as the biomass in SalishSeaCast, possibly due to SalishSeaCast’s more detailed resolution. To improve the accuracy in Atlantis one can periodically nudge one or more of the functional groups at the base of the food web towards values obtained from outside of the Atlantis calculations. Specifically, we want to use the diatoms fields calculated by the SMELT component of the SalishSeaCast NEMO model as values with which to nudge the Atlantis diatoms calculations.
It was decided to use the day-averaged diatoms biomass fields calculated by the SalishSeaCast hindcast. To accomplish that, we need to create one or more files containing day-averaged diatoms biomass, and grid longitude and latitude fields from the thousands of 1-day biological tracers files that are the output of the SalishSeaCast hindcast runs. The coordinates of the file(s) for Atlantis are:
time in days since 2007-01-01 12:30:00
depth in metres of the midpoints of the SalishSeaCast model grid layers
gridY: indices in the along-strait (y, north-ish) direction of the SalishSeaCast grid
gridX: indices in the cross-strait (x, east-ish) direction of the SalishSeaCast grid
The variables in the file(s) are:
diatoms: the (time, depth, gridY, gridX) field of mole concentration of diatoms expressed as nitrogen in seawater
longitudes: the (gridY, gridX) field of longitude values of the model grid points
latitudes: the (gridY, gridX) field of latitude values of the model grid points
The storage attributes of the file(s) are:
netCDF-4 classic format because that is the format that tools in the Atlantis processing pipeline require
gridY and gridX are stored as 32 bit integers, all other coordinates and variables are stored as 32 bit floats
zlib compression is not used because it is not supported by the Atlantis toolchain
the chunk size for diatoms is (1, 40, 898, 398); i.e. the full 3D field per day
the chunk size for the coordinates and the other variables is their array sizes
Execution
The task described above can be accomplished using Reshapr
on the MOAD compute
server salish with the command:
(reshapr)$ reshapr extract Reshapr/docs/examples/extract_atlantis_diatoms.yaml
where Reshapr/docs/examples/extract_atlantis_diatoms.yaml
is an extraction processing configuration YAML file containing:
# reshapr extract processing configuration for diatoms nudging field
# for Atlantis ecosystem model
dataset:
model profile: SalishSeaCast-201905.yaml
time base: day
variables group: biology
dask cluster: salish_cluster.yaml
start date: 2007-01-01
end date: 2021-12-31
extract variables:
- diatoms
include lons lats: True
extracted dataset:
name: SalishSeaCast_day_avg_diatoms_compressed
description: Day-averaged diatoms biomass extracted from SalishSeaCast v201905 hindcast
deflate: False
format: NETCDF4_CLASSIC
dest dir: /ocean/dlatorne/Atlantis/day-avg-diatoms/
Please see extract Process Configuration File for details of meanings and choices available for the items in the YAML file.