# Simplified Model Domain - 2D¶

This page provides instructions on how to build a simplified two-dimensional version of the Salish Sea model. The two-dimensional model is based on a simplifed bathymetry profile along the domain’s thalweg. A simplified model allows for quick sensitivity tests of mixing parametrizations and resolution.

## New NEMO Configuration¶

The first step is to create a new NEMO configuration. Here we will define parameters such as number of grid points and resolution. These instructions explain how to create a new configuration called SalishSea2D

1. In NEMO-code/NEMOGCM/CONFIG, create directory for the new configuration.

cd NEMO-code/NEMOGCM/CONFIG
mkdir SalishSea2D


2. Create a cpp_SalishSea2D.fcm file and place it the configuration directory. Add a key for the new configuration and any other keys you require. For example,

cd SalishSea2D
ls cpp_SalishSea2D.fcm
bld::tool::fppkeys  key_bdy key_vectopt_loop   key_dynspg_ts key_ldfslp    key_vvl
key_diainstant key_mpp_mpi key_netcdf4 key_nosignedzero key_traldf_c2d key_dynldf_c3d
key_tide key_zdfgls key_iomput key_salishsea2D


3. Add configuration source files to SalishSea2D/MY_SRC. You need at least two modified source files: par_oce.F90 and par_SalishSea2D.h90. In par_oce.F90, add a case for dealing with the new configuration key:

#elif defined key_salishsea2D
!!---------------------------------------------------------------------
!!   'key_salishsea2D':                    Strait of Georgia: 2D
!!---------------------------------------------------------------------
#             include "par_SalishSea2D.h90"


4. Specify choices in domain size, grid and resolution by editing par_SalishSea2D.h90. For example, these choices will set up a simplified grid 1100 by 10 by 40 grid points with 500 m resolution. See the NEMO documentation for details on parameter choices.

jpidta  = 1100,        &  !: first horizontal dimension > or = to jpi
jpjdta  = 10,          &  !: second                     > or = to jpj
jpkdta  = 40,          &  !: number of levels           > or = to jpk

jphgr_msh = 2          &  !: type of horizontal mesh
!                         !  = 2 f-plane with regular grid-spacing

ppgphi0  = 0.0_wp,         &  !: latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3)

ppe1_m   = 500,   &  !: zonal      grid-spacing (meters )
ppe2_m   = 500       !: meridional grid-spacing (meters )

1. Add SalishSea2D OPA_SRC to the last line of NEMO-code/NEMOGCM/CONFIG/cfg.txt

6. Try compiling with this new configuration. For example, on salish

cd NEMO-code/NEMOGCM/CONFIG
./makenemo -n SalishSea2D -m salish -j8


Note: This configuration has been added to the NEMO-code repository.

## Bathymetry¶

A simplifed 2D bathymetry was created by smoothing the bathymetry along the thalweg. See Generate_2D_bathy.ipynb

## Initial Conditions¶

Initial conditions for temperature and salinity were taken from model 2003 spin-up. The velocities are initialized to zero values. Winter and summer stratifications were created using Generate_2D_T+S.ipynb. Note that a test run with basic namelists was used to create the 2D mesh_mask.nc. This file was used to ensure the initial temperature and salinity covered the full 2D domain.

## Tides¶

Tidal elevations are based on the 3D model tides, averaged across the mouth of the Strait of Juan de Fuca. Tidal currents for U are also based on 3D tidal currents, averaged across the boundary. Tidal currents for V are ignored. Some adjustments to the tidal currents are made to enforce rapid velocties over the sill since the horizontal constriction is not present in the 2D domain. See Generate_2D_Tides.ipynb for generation of tide forcing files.

## River¶

A simple representation of the Fraser River was added to replace mixed stratification. A constant flow rate was used. Details in Generate_rivers_forcing.ipynb.

## Namelists¶

The namelists need to be modified to reflect the new forcing files and boundary conditions. See /data/nsoontie/MEOPAR/2Ddomain/namelists.