Skip to content

Creating new mapped ocean mask files for FV3

Denise Worthen edited this page Dec 6, 2020 · 1 revision

When implementing a new MOM6/CICE6 resolution, the ocean mask on the new MOM6 grid will need to be mapped to the FV3 grid. This is a three step process.

  1. Generate SCRIP files for a tripole resolution which contain the land mask of the ocean grid.
  2. Generate the conservative weights to regrid from the SCRIP file from Step 1.
  3. Generate the mapped ocean mask for each tile of the ATM resolution desired.

Before proceeding, clone the WeightGen repo. This repo contains both the shell script and NCL script required to generate the mapped ocean mask.

Step 1. Create the SCRIP files containing the land mask

To generate the mapped ocean mask, the file Ct.mxnew_SCRIP_land.nc must be available. This file may have already been created when an icemesh file for the desired resolution was generated (Step 2.2). If the icemesh file does not yet exist, create it as documented in the link. For resolution mxnew, this file will be named Ct.mxnew_SCRIP_land.nc

Step 2. Create the conservative mapping weights

Edit the shell script generate_frac_land_weights.sh for the right source and destination directories you are using. The SCRIP_DIR is the location of the Ct.mxnew_SCRIP_land.nc file. Edit the sorcList and destList to describe the ATM-OCN resolution pair you are creating. For example:

declare -a sorcList=("Ct.mx100")
declare -a destList=("C96")

will use the Ct.mx100_SCRIP_land.nc source file containing the ocean mask at resolution mx100 (1deg) and map it to the ATM resolution C96. Run the script. Using the above example, the file Ct.mx100.to.C96.nc will be created in the location OUT_DIR.

Step 3. Create the mapped ocean map files for each ATM tile

The the weights file generated in Step 2 (Ct.mxnew.to.CATM.nc) contains the regridding weights to map the ocean mask at resolution mxnew to a given FV3 resolution given by CATM. The NCL script make_frac_land.ncl will use this file to generate the ocean mask on the 6 tiles of the FV3 grid. The script current loops over 7 possible resolution pairs:

 fv3res = (/     96,      96,     192,     192,     384,     384,     768/)
mom6res = (/"mx025", "mx100", "mx050", "mx100", "mx050", "mx025", "mx025"/)

Edit this list to add a new resolution pair:

 ;fv3res = (/     96,      96,     192,     192,     384,     384,     768/)
;mom6res = (/"mx025", "mx100", "mx050", "mx100", "mx050", "mx025", "mx025"/)
 fv3res = (/     96/)
mom6res = (/"mxnew"/)

Set the dirsrc and dirout directories and run the script. A set of 6 files with the name C96.mxnew.tile[1-6].nc will be created in the specified location.