Skip to content

Commit

Permalink
Update to MERRA2 aerosol climatology (#380)
Browse files Browse the repository at this point in the history
* Update to tiled fix files, UGWD v1, NOAH-MP

Updates model to use tiled fix files. Fix directory is updated to the
fix_NEW location.

Adds the ability to use UGWD v1. Since this capability is tied to the
CCPP suite used, the sutie definition file is grepped to determine whether
UGWD is active. Otherwise, gwd_opt 1 is used. Either way, the appropriate
namelist settings are added to input.nml. For v1, the necessary fix files
are also linked to the run directory. If additional options are supported
in the future, there will need to be more sophisicated parsing.

Adds the ability to use Noah-MP. Like UGWD, this is dictated by the CCPP
suite used, so the suite definition file is grepped to determine whether
to use Noah (lsm=1) or Noah-MP (lsm=2).

Additional CCPP suites are added to allow for the new options.

The two non-fractional coupled cases are updated to use a CCPP suite using
both UGWD v1 and Noah-MP. The two aerosol cases are updated to a suite using
UGWD v1 (there does not appear to be an atm-only suite that has both).

There is also a minor change to the UFS build script to remove any existing
UFS build directory. This prevents problems when attempting to build a
different app after one has already been built.

Closes: #331, #346

* Ensure CCPP_SUITE is set and suite file exists

Previously there was no guarantee that CCPP_SUITE was set before it
was used in forecast_postdet.sh. The suite how has a default value if
it is not set. A default later in the execution chain is removed, as
CCPP_SUITE is now guaranteed to be set beforehand. The default is also
updated to FV3_GFS_v16.

There is also now a check to ensure the suite file is present inside
the UFS directory before trying to determine settings from it.

Refs: #346

* Update to MERRA2 aerosol climatology

Adds the capability to use MERRA2 aerosol climatology and makes it
the default.

An addition to the diag table is required. Rather than continue the
proliferation of diag tables to produce one specifically for coupled
and MERRA2, the existing diag table from the MERRA2 update in devleop
is pared down to just the additional fields introduced. This is then
appended to the main diag table if necessary.

Also corrected a related issue in the CROW forecast config. While
IAER and several other similar settings were already present in the
schema, the values were hard-coded in the forecast config instead of
using the value set. The script now correctly uses the values set by
the configuration system. The default for IAER is changed to 1011 for
MERRA2.

Refs: #379
  • Loading branch information
WalterKolczynski-NOAA authored Jul 28, 2021
1 parent dbc28c4 commit ef419a6
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 218 deletions.
209 changes: 1 addition & 208 deletions parm/parm_fv3diag/diag_table_aod

Large diffs are not rendered by default.

19 changes: 17 additions & 2 deletions ush/forecast_postdet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -242,12 +242,12 @@ FV3_GFS_postdet(){
knob_ugwp_version="0"
launch_level=${launch_level:-$(echo "$LEVS/2.35" |bc)}
fi

# GFS standard input data
IALB=${IALB:-1}
IEMS=${IEMS:-1}
ISOL=${ISOL:-2}
IAER=${IAER:-111}
IAER=${IAER:-1011}
ICO2=${ICO2:-2}

if [ ${new_o3forc:-YES} = YES ]; then
Expand Down Expand Up @@ -286,6 +286,21 @@ FV3_GFS_postdet(){
done
fi

# MERRA 2
if [ $IAER -eq "1011" ]; then
FIX_AER="${FIX_DIR}/fix_aer"
for month in $(seq 1 12); do
MM=$(printf %02d $month)
$NLN "${FIX_AER}/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc"
done
FIX_LUT="${FIX_DIR}/fix_lut"
$NLN "${FIX_LUT}/optics_BC.v1_3.dat" "optics_BC.dat"
$NLN "${FIX_LUT}/optics_OC.v1_3.dat" "optics_OC.dat"
$NLN "${FIX_LUT}/optics_DU.v15_3.dat" "optics_DU.dat"
$NLN "${FIX_LUT}/optics_SS.v3_3.dat" "optics_SS.dat"
$NLN "${FIX_LUT}/optics_SU.v1_3.dat" "optics_SU.dat"
fi

# inline post fix files
if [ $WRITE_DOPOST = ".true." ]; then
$NLN $PARM_POST/post_tag_gfs${LEVS} $DATA/itag
Expand Down
6 changes: 6 additions & 0 deletions ush/parsing_namelists_FV3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ FV3_namelists(){

# copy over the tables
DIAG_TABLE=${DIAG_TABLE:-$PARM_FV3DIAG/diag_table}
DIAG_TABLE_AOD=${DIAG_TABLE_AOD:-$PARM_FV3DIAG/diag_table_aod}
DATA_TABLE=${DATA_TABLE:-$PARM_FV3DIAG/data_table}
FIELD_TABLE=${FIELD_TABLE:-$PARM_FV3DIAG/field_table}

Expand All @@ -30,6 +31,11 @@ EOF
cat $DIAG_TABLE >> diag_table
fi

# Append AOD diag table for MERRA2
if [ $IAER = "1011" ]; then
cat $DIAG_TABLE_AOD >> diag_table
fi

$NCP $DATA_TABLE data_table
$NCP $FIELD_TABLE field_table

Expand Down
10 changes: 5 additions & 5 deletions workflow/config/fcst.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,11 @@ config_fcst:
export n_split={doc.fv3_gfs_settings.n_split}
export adjust_dry_mass=".false."
export IALB=1
export IEMS=1
export ISOL=2
export IAER=5111
export ICO2=2
export IALB={doc.fv3_gfs_settings.IALB}
export IEMS={doc.fv3_gfs_settings.IEMS}
export ISOL={doc.fv3_gfs_settings.ISOL}
export IAER={doc.fv3_gfs_settings.IAER}
export ICO2={doc.fv3_gfs_settings.ICO2}
export icliq_sw=2
export iovr=3
Expand Down
2 changes: 1 addition & 1 deletion workflow/defaults/fv3_enkf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ fv3_enkf_defaults: &fv3_enkf_defaults
IEMS: 1
IALB: 1
ISOL: 2
IAER: 111
IAER: 1011
ICO2: 2
warm_start: true
read_increment: no
Expand Down
2 changes: 1 addition & 1 deletion workflow/defaults/fv3_gdas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ fv3_gdas_defaults: &fv3_gdas_defaults
IEMS: 1
IALB: 1
ISOL: 2
IAER: 111
IAER: 1011
ICO2: 2
warm_start: true
read_increment: no
Expand Down
2 changes: 1 addition & 1 deletion workflow/defaults/fv3_gfs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ fv3_gfs_defaults: &fv3_gfs_defaults
IEMS: 1
IALB: 1
ISOL: 2
IAER: 111
IAER: 1011
ICO2: 2
warm_start: true
read_increment: no
Expand Down

0 comments on commit ef419a6

Please sign in to comment.