Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for C12 MOM6 #285

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions gcm_forecast.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,6 @@ cat << _EOF_ > $FILE
@COUPLED /bin/ln -sf $GRIDDIR/MAPL_Tripolar.nc .
@COUPLED /bin/ln -sf $GRIDDIR/vgrid${OGCM_LM}.ascii ./vgrid.ascii
@MOM5/bin/ln -s @COUPLEDIR/a@HIST_IMx@HIST_JM_o${OGCM_IM}x${OGCM_JM}/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag-Pfafstetter.til tile_hist.data
@MOM6/bin/ln -s @COUPLEDIR/MOM6/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag-Pfafstetter.til tile_hist.data

# Precip correction
#/bin/ln -s /discover/nobackup/projects/gmao/share/gmao_ops/fvInput/merra_land/precip_CPCUexcludeAfrica-CMAP_corrected_MERRA/GEOSdas-2_1_4 ExtData/PCP
Expand Down Expand Up @@ -673,7 +672,7 @@ setenv YEAR $yearc

if (! -e tile.bin) then
$GEOSBIN/binarytile.x tile.data tile.bin
@COUPLED $GEOSBIN/binarytile.x tile_hist.data tile_hist.bin
@MOM5 $GEOSBIN/binarytile.x tile_hist.data tile_hist.bin
endif

# If running in dual ocean mode, link sst and fraci data here
Expand Down
80 changes: 47 additions & 33 deletions gcm_run.j
Original file line number Diff line number Diff line change
Expand Up @@ -307,11 +307,13 @@ setenv CHMDIR @CHMDIR
setenv DATELINE DC
setenv EMISSIONS @EMISSIONS

@MOM5setenv GRIDDIR @COUPLEDIR/a${AGCM_IM}x${AGCM_JM}_o${OGCM_IM}x${OGCM_JM}
@MOM6setenv GRIDDIR @COUPLEDIR/MOM6/@ATMOStag_@OCEANtag
@COUPLED setenv GRIDDIR2 @COUPLEDIR/SST/MERRA2/${OGCM_IM}x${OGCM_JM}
@COUPLED setenv BCTAG `basename $GRIDDIR`
@DATAOCEAN setenv BCTAG `basename $BCSDIR`
@MOM5setenv ABCSDIR @COUPLEDIR/atmosphere_bcs/@LSMBCS/MOM5/@ATMOStag_@OCEANtag
@MOM5setenv OBCSDIR @COUPLEDIR/ocean_bcs/MOM5/${OGCM_IM}x${OGCM_JM}
@MOM6setenv ABCSDIR @COUPLEDIR/atmosphere_bcs/@LSMBCS/MOM6/@ATMOStag_@OCEANtag
@MOM6setenv OBCSDIR @COUPLEDIR/ocean_bcs/MOM6/${OGCM_IM}x${OGCM_JM}
@COUPLEDsetenv SSTDIR @COUPLEDIR/SST/MERRA2/${OGCM_IM}x${OGCM_JM}
@COUPLEDsetenv BCTAG `basename $ABCSDIR`
@DATAOCEANsetenv BCTAG `basename $BCSDIR`

set FILE = linkbcs
/bin/rm -f $FILE
Expand All @@ -322,13 +324,13 @@ cat << _EOF_ > $FILE
/bin/mkdir -p ExtData
/bin/ln -sf $CHMDIR/* ExtData

@COUPLED /bin/ln -sf $GRIDDIR/SEAWIFS_KPAR_mon_clim.${OGCM_IM}x${OGCM_JM} SEAWIFS_KPAR_mon_clim.data
@COUPLED /bin/ln -sf $GRIDDIR/@ATMOStag_@OCEANtag-Pfafstetter.til tile.data
@COUPLED /bin/ln -sf $GRIDDIR/@ATMOStag_@OCEANtag-Pfafstetter.TRN runoff.bin
@COUPLED /bin/ln -sf $GRIDDIR/MAPL_Tripolar.nc .
@COUPLED /bin/ln -sf $GRIDDIR/vgrid${OGCM_LM}.ascii ./vgrid.ascii
@MOM5/bin/ln -s @COUPLEDIR/a@HIST_IMx@HIST_JM_o${OGCM_IM}x${OGCM_JM}/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag-Pfafstetter.til tile_hist.data
@MOM6/bin/ln -s @COUPLEDIR/MOM6/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag-Pfafstetter.til tile_hist.data
@COUPLED/bin/ln -sf $OBCSDIR/SEAWIFS_KPAR_mon_clim.${OGCM_IM}x${OGCM_JM} SEAWIFS_KPAR_mon_clim.data
@COUPLED/bin/ln -sf $ABCSDIR/@ATMOStag_@OCEANtag-Pfafstetter.til tile.data
@COUPLED/bin/ln -sf $ABCSDIR/@ATMOStag_@OCEANtag-Pfafstetter.TRN runoff.bin
@COUPLED/bin/ln -sf $OBCSDIR/MAPL_Tripolar.nc .
@COUPLED/bin/ln -sf $OBCSDIR/vgrid${OGCM_LM}.ascii ./vgrid.ascii
@MOM5#/bin/ln -s @COUPLEDIR/a@HIST_IMx@HIST_JM_o${OGCM_IM}x${OGCM_JM}/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag-Pfafstetter.til tile_hist.data
@MOM6#/bin/ln -s @COUPLEDIR/MOM6/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag/DC0@HIST_IMxPC0@HIST_JM_@OCEANtag-Pfafstetter.til tile_hist.data

# Precip correction
#/bin/ln -s /discover/nobackup/projects/gmao/share/gmao_ops/fvInput/merra_land/precip_CPCUexcludeAfrica-CMAP_corrected_MERRA/GEOSdas-2_1_4 ExtData/PCP
Expand Down Expand Up @@ -358,12 +360,20 @@ cat << _EOF_ > $FILE
/bin/ln -sf $BCSDIR/Shared/*bin .
/bin/ln -sf $BCSDIR/Shared/*c2l*.nc4 .

/bin/ln -sf $BCSDIR/$BCRSLV/visdf_@RES_DATELINE.dat visdf.dat
/bin/ln -sf $BCSDIR/$BCRSLV/nirdf_@RES_DATELINE.dat nirdf.dat
/bin/ln -sf $BCSDIR/$BCRSLV/vegdyn_@RES_DATELINE.dat vegdyn.data
/bin/ln -sf $BCSDIR/$BCRSLV/lai_clim_@RES_DATELINE.data lai.data
/bin/ln -sf $BCSDIR/$BCRSLV/green_clim_@RES_DATELINE.data green.data
/bin/ln -sf $BCSDIR/$BCRSLV/ndvi_clim_@RES_DATELINE.data ndvi.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/visdf_@RES_DATELINE.dat visdf.dat
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/nirdf_@RES_DATELINE.dat nirdf.dat
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/vegdyn_@RES_DATELINE.dat vegdyn.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/lai_clim_@RES_DATELINE.data lai.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/green_clim_@RES_DATELINE.data green.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/ndvi_clim_@RES_DATELINE.data ndvi.data

@COUPLED/bin/ln -sf $ABCSDIR/visdf_@RES_DATELINE.dat visdf.dat
@COUPLED/bin/ln -sf $ABCSDIR/nirdf_@RES_DATELINE.dat nirdf.dat
@COUPLED/bin/ln -sf $ABCSDIR/vegdyn_@RES_DATELINE.dat vegdyn.data
@COUPLED/bin/ln -sf $ABCSDIR/lai_clim_@RES_DATELINE.data lai.data
@COUPLED/bin/ln -sf $ABCSDIR/green_clim_@RES_DATELINE.data green.data
@COUPLED/bin/ln -sf $ABCSDIR/ndvi_clim_@RES_DATELINE.data ndvi.data

>>>GCMRUN_CATCHCN<<<if ( -f $BCSDIR/$BCRSLV/lnfm_clim_@RES_DATELINE.data ) /bin/ln -sf $BCSDIR/$BCRSLV/lnfm_clim_@RES_DATELINE.data lnfm.data
>>>GCMRUN_CATCHCN<<<if (-f $BCSDIR/$BCRSLV/MODISVISmean_${AGCM_IM}x${AGCM_JM}.dat ) /bin/ln -s MODISVISmean.dat
>>>GCMRUN_CATCHCN<<<if (-f $BCSDIR/$BCRSLV/MODISVISstd_${AGCM_IM}x${AGCM_JM}.dat ) /bin/ln -s MODISVISstd.dat
Expand All @@ -376,22 +386,26 @@ cat << _EOF_ > $FILE
>>>GCMRUN_CATCHCN<<</bin/ln -s /discover/nobackup/projects/gmao/ssd/land/l_data/LandBCs_files_for_mkCatchParam/V001/CO2_MonthlyMean_DiurnalCycle.nc4
>>>GCMRUN_CATCHCN<<</bin/ln -s /discover/nobackup/projects/gmao/ssd/land/l_data/LandBCs_files_for_mkCatchParam/V001/FPAR_CDF_Params-M09.nc4

/bin/ln -sf $BCSDIR/$BCRSLV/topo_DYN_ave_@RES_DATELINE.data topo_dynave.data
/bin/ln -sf $BCSDIR/$BCRSLV/topo_GWD_var_@RES_DATELINE.data topo_gwdvar.data
/bin/ln -sf $BCSDIR/$BCRSLV/topo_TRB_var_@RES_DATELINE.data topo_trbvar.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/topo_DYN_ave_@RES_DATELINE.data topo_dynave.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/topo_GWD_var_@RES_DATELINE.data topo_gwdvar.data
@DATAOCEAN/bin/ln -sf $BCSDIR/$BCRSLV/topo_TRB_var_@RES_DATELINE.data topo_trbvar.data

@COUPLED/bin/ln -sf $ABCSDIR/topo_DYN_ave_@RES_DATELINE.data topo_dynave.data
@COUPLED/bin/ln -sf $ABCSDIR/topo_GWD_var_@RES_DATELINE.data topo_gwdvar.data
@COUPLED/bin/ln -sf $ABCSDIR/topo_TRB_var_@RES_DATELINE.data topo_trbvar.data

>>>FVCUBED<<<if( -e $BCSDIR/$BCRSLV/Gnomonic_$BCRSLV.dat ) then
>>>FVCUBED<<</bin/ln -sf $BCSDIR/$BCRSLV/Gnomonic_$BCRSLV.dat .
>>>FVCUBED<<<endif

@COUPLED @CPEXEC $HOMDIR/*_table .
@COUPLED @CPEXEC $GRIDDIR/INPUT/* INPUT
@COUPLED /bin/ln -sf $GRIDDIR/cice/kmt_cice.bin .
@COUPLED /bin/ln -sf $GRIDDIR/cice/grid_cice.bin .
@COUPLED @CPEXEC $OBCSDIR/INPUT/* INPUT
@COUPLED /bin/ln -sf $OBCSDIR/cice/kmt_cice.bin .
@COUPLED /bin/ln -sf $OBCSDIR/cice/grid_cice.bin .

_EOF_

>>>GCMRUN_CATCHCN<<<set LSM_CHOICE = `grep LSM_CHOICE: AGCM.rc | cut -d':' -f2`
>>>GCMRUN_CATCHCN<<<set LSM_CHOICE = `grep LSM_CHOICE: AGCM.rc | cut -d':' -f2`
>>>GCMRUN_CATCHCN<<<if ($LSM_CHOICE == 2) then
>>>GCMRUN_CATCHCN<<< grep -v "'CNFROOTC'" HISTORY.rc > Hist_tmp.rc && mv Hist_tmp.rc HISTORY.rc
>>>GCMRUN_CATCHCN<<<endif
Expand Down Expand Up @@ -632,14 +646,14 @@ setenv YEAR $yearc

if (! -e tile.bin) then
$GEOSBIN/binarytile.x tile.data tile.bin
@COUPLED $GEOSBIN/binarytile.x tile_hist.data tile_hist.bin
@MOM5 $GEOSBIN/binarytile.x tile_hist.data tile_hist.bin
endif

# If running in dual ocean mode, link sst and fraci data here
#set yy = `cat cap_restart | cut -c1-4`
#echo $yy
#ln -sf $GRIDDIR2/dataoceanfile_MERRA2_SST.${OGCM_IM}x${OGCM_JM}.${yy}.data sst.data
#ln -sf $GRIDDIR2/dataoceanfile_MERRA2_ICE.${OGCM_IM}x${OGCM_JM}.${yy}.data fraci.data
#ln -sf $SSTDIR/dataoceanfile_MERRA2_SST.${OGCM_IM}x${OGCM_JM}.${yy}.data sst.data
#ln -sf $SSTDIR/dataoceanfile_MERRA2_ICE.${OGCM_IM}x${OGCM_JM}.${yy}.data fraci.data

#######################################################################
# Split Saltwater Restart if detected
Expand Down Expand Up @@ -684,7 +698,7 @@ else
# Remove the decorated restarts
# -----------------------------
/bin/rm $EXPID.*.${edate}.${GCMVER}.${BCTAG}_${BCRSLV}

# Remove the saltwater internal restart
# -------------------------------------
/bin/rm $SCRDIR/saltwater_internal_rst
Expand All @@ -701,7 +715,7 @@ if ( -x $GEOSBIN/rs_numtiles.x ) then

set N_OPENW_TILES_EXPECTED = `grep '^\s*0' tile.data | wc -l`
set N_OPENW_TILES_FOUND = `$RUN_CMD 1 $GEOSBIN/rs_numtiles.x openwater_internal_rst | grep Total | awk '{print $NF}'`

if ( $N_OPENW_TILES_EXPECTED != $N_OPENW_TILES_FOUND ) then
echo "Error! Found $N_OPENW_TILES_FOUND tiles in openwater. Expect to find $N_OPENW_TILES_EXPECTED tiles."
echo "Your restarts are probably for a different ocean."
Expand Down Expand Up @@ -818,7 +832,7 @@ else
set rc = -1
endif
echo GEOSgcm Run Status: $rc

#######################################################################
# Rename Final Checkpoints => Restarts for Next Segment and Archive
# Note: cap_restart contains the current NYMD and NHMS
Expand Down Expand Up @@ -924,13 +938,13 @@ end
@COUPLED /bin/mv $SCRDIR/$dset.nc $EXPDIR/MOM_Output/$dset.${edate}.nc
@COUPLED endif
@COUPLED end
@COUPLED
@COUPLED
#######################################################################
# Run Post-Processing and Forecasts
#######################################################################

$GEOSUTIL/post/gcmpost.script -source $EXPDIR -movefiles

if( $FSEGMENT != 00000000 ) then
set REPLAY_BEG_DATE = `grep '^\s*BEG_REPDATE:' $HOMDIR/CAP.rc | cut -d: -f2`
set REPLAY_END_DATE = `grep '^\s*END_REPDATE:' $HOMDIR/CAP.rc | cut -d: -f2`
Expand Down
49 changes: 35 additions & 14 deletions gcm_setup
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,7 @@ if( $OGCM == TRUE ) then
set DATAOCEAN = "#DELETE"
set OCEAN_NAME = ""
set CLDMICRO = "2MOMENT"

# Ocean Model
# -----------
OCNMODEL:
Expand Down Expand Up @@ -537,14 +538,25 @@ if( $OGCM == TRUE ) then
goto CORSLV
endif
endif

set IMO = ${OGCM_IM}
if( $IMO < 10 ) then
set IMO = 000$IMO
else if($IMO < 100) then
set IMO = 00$IMO
else if($IMO < 1000) then
set IMO = 0$IMO
endif

set JMO = ${OGCM_JM}
if( $IMO < 10 ) set IMO = 000$IMO
if( $IMO < 100 ) set IMO = 00$IMO
if( $IMO < 1000 ) set IMO = 0$IMO
if( $JMO < 10 ) set JMO = 000$JMO
if( $JMO < 100 ) set JMO = 00$JMO
if( $JMO < 1000 ) set JMO = 0$JMO
if( $JMO < 10 ) then
set JMO = 000$JMO
else if($JMO < 100) then
set JMO = 00$JMO
else if($JMO < 1000) then
set JMO = 0$JMO
endif

set OCEAN_RES = TM${IMO}xTM${JMO}
set OCEAN_TAG = Reynolds
set SSTNAME = "#DELETE"
Expand All @@ -560,8 +572,14 @@ if( $OGCM == TRUE ) then
set OGCM_LM = 50
endif

set OGCM_NX = 36
set OGCM_NY = 10
# At the moment c12 MOM6 is default 3x2 ocean (and 1x6 atmos)
if( $AGCM_IM == "c12" ) then
set OGCM_NX = 3
set OGCM_NY = 2
else
set OGCM_NX = 36
set OGCM_NY = 10
endif
@ OGCM_NPROCS = $OGCM_NX * $OGCM_NY
set OGCM_GRID_TYPE = Tripolar
set LATLON_OGCM = ""
Expand Down Expand Up @@ -744,7 +762,12 @@ if( $AGCM_IM == "c12" ) then
set CHEM_DT = $DT
set AGCM_IM = 12
set AGCM_JM = `expr $AGCM_IM \* 6`
# C12 MOM6 should be 1x6 to match the default 3x2 ocean layout
if ( $OCEAN_NAME == "MOM6") then
set NX = 1
else
set NX = 2
endif
set NY = `expr $NX \* 6`
set HYDROSTATIC = $USE_HYDROSTATIC
set HIST_IM = `expr $AGCM_IM \* 4`
Expand Down Expand Up @@ -1340,7 +1363,7 @@ if( $SITE == 'NAS' ) then
endif
setenv CHMDIR /nobackup/gmao_SIteam/ModelData/fvInput_nc3 # locations of Aerosol Chemistry BCs
setenv WRKDIR /nobackup/$LOGNAME # user work directory
setenv COUPLEDIR /nobackup/gmao_SIteam/ModelData/coupled/Forcings # Coupled Ocean/Atmos Forcing
setenv COUPLEDIR /nobackup/gmao_SIteam/ModelData/aogcm # Coupled Ocean/Atmos Forcing
setenv CPEXEC 'mcp -a' # Copy utility for large copies
setenv TAREXEC mtar # Tar utility for large archives
else if( $SITE == 'NCCS' ) then
Expand Down Expand Up @@ -1389,7 +1412,7 @@ else if( $SITE == 'NCCS' ) then
endif
setenv CHMDIR $SHARE/dao_ops/fvInput_nc3 # locations of Aerosol Chemistry BCs
setenv WRKDIR /discover/nobackup/$LOGNAME # user work directory
setenv COUPLEDIR /discover/nobackup/yvikhlia/coupled/Forcings # Coupled Ocean/Atmos Forcing
setenv COUPLEDIR /discover/nobackup/projects/gmao/ssd/aogcm # Coupled Ocean/Atmos Forcing
setenv CPEXEC /bin/cp # Copy utility for large copies
setenv TAREXEC tar
else if( $SITE == 'AWS' ) then
Expand Down Expand Up @@ -1425,7 +1448,7 @@ else if( $SITE == 'AWS' ) then
setenv SSTDIR /ford1/share/gmao_SIteam/ModelData/@SSTNAME/${OGCM_IM}x${OGCM_JM} # location of SST Boundary Conditions
setenv CHMDIR /ford1/share/gmao_SIteam/ModelData/fvInput_nc3 # locations of Aerosol Chemistry BCs
setenv WRKDIR /home/$LOGNAME # user work directory
setenv COUPLEDIR /ford1/share/gmao_SIteam/ModelData/Forcings # Coupled Ocean/Atmos Forcing
setenv COUPLEDIR /ford1/share/gmao_SIteam/ModelData/aogcm # Coupled Ocean/Atmos Forcing

setenv CPEXEC /bin/cp # Copy utility for large copies
setenv TAREXEC tar # Tar utility for large archives
Expand Down Expand Up @@ -1467,7 +1490,7 @@ else
setenv SSTDIR /ford1/share/gmao_SIteam/ModelData/@SSTNAME/${OGCM_IM}x${OGCM_JM} # location of SST Boundary Conditions
setenv CHMDIR /ford1/share/gmao_SIteam/ModelData/fvInput_nc3 # locations of Aerosol Chemistry BCs
setenv WRKDIR /home/$LOGNAME # user work directory
setenv COUPLEDIR /ford1/share/gmao_SIteam/ModelData/Forcings # Coupled Ocean/Atmos Forcing
setenv COUPLEDIR /ford1/share/gmao_SIteam/ModelData/aogcm # Coupled Ocean/Atmos Forcing
set NX = 1
set NY = 6
set CNV_NX = ${NX}
Expand Down Expand Up @@ -1846,7 +1869,6 @@ EOF
else if( $MPI == intelmpi ) then

cat > $HOMDIR/SETENV.commands << EOF
setenv I_MPI_DAPL_UD enable
setenv I_MPI_ADJUST_ALLREDUCE 12
setenv I_MPI_ADJUST_GATHERV 3

Expand All @@ -1864,7 +1886,6 @@ setenv I_MPI_SHM_HEAP_VSIZE 512
setenv PSM2_MEMORY large
setenv I_MPI_EXTRA_FILESYSTEM 1
setenv I_MPI_EXTRA_FILESYSTEM_FORCE gpfs
setenv ROMIO_FSTYPE_FORCE "gpfs:"
EOF

endif # if NCCS
Expand Down
Loading