diff --git a/gcm_forecast.tmpl b/gcm_forecast.tmpl index 602976ab..274af8ae 100755 --- a/gcm_forecast.tmpl +++ b/gcm_forecast.tmpl @@ -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 @@ -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 diff --git a/gcm_run.j b/gcm_run.j index cb8997dd..b39401dd 100755 --- a/gcm_run.j +++ b/gcm_run.j @@ -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 @@ -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 @@ -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<<>>GCMRUN_CATCHCN<<>>GCMRUN_CATCHCN<< $FILE >>>GCMRUN_CATCHCN<<>>GCMRUN_CATCHCN<<>>FVCUBED<<>>FVCUBED<<>>FVCUBED<<>>GCMRUN_CATCHCN<<>>GCMRUN_CATCHCN<<>>GCMRUN_CATCHCN<<>>GCMRUN_CATCHCN<<< grep -v "'CNFROOTC'" HISTORY.rc > Hist_tmp.rc && mv Hist_tmp.rc HISTORY.rc >>>GCMRUN_CATCHCN<< Restarts for Next Segment and Archive # Note: cap_restart contains the current NYMD and NHMS @@ -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` diff --git a/gcm_setup b/gcm_setup index c4428ac1..50a05353 100755 --- a/gcm_setup +++ b/gcm_setup @@ -475,6 +475,7 @@ if( $OGCM == TRUE ) then set DATAOCEAN = "#DELETE" set OCEAN_NAME = "" set CLDMICRO = "2MOMENT" + # Ocean Model # ----------- OCNMODEL: @@ -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" @@ -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 = "" @@ -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` @@ -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 @@ -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 @@ -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 @@ -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} @@ -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 @@ -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 diff --git a/geoschemchem_setup b/geoschemchem_setup index f5e6e948..f5aaf3d0 100755 --- a/geoschemchem_setup +++ b/geoschemchem_setup @@ -538,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" @@ -561,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 = "" @@ -748,7 +765,12 @@ if( $AGCM_IM == "c12" ) then # set GOCART_DT = `expr $DT \* 2` 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` @@ -1165,20 +1187,27 @@ endif # ---------------------- if( $LSM_BCS == "Icarus-NLv3" ) then LSM_CHOICE: - echo "Enter the choice of ${C1} Land Surface Model${CN} using: ${C2}1${CN} (Default: Catchment), ${C2}2${CN} (CatchmentCN: Catch-Carbon Model)" + echo "Enter the choice of ${C1} Land Surface Model${CN} using: ${C2}1${CN} (Default: Catchment), ${C2}2${CN} (CatchmentCN-CLM4.0 (CN_CLM40)), ${C2}3${CN} (CatchmentCN-CLM4.5 (CN_CLM45))" set LSM_CHOICE = $< if( .$LSM_CHOICE == . ) set LSM_CHOICE = 1 - if( $LSM_CHOICE != 1 & $LSM_CHOICE != 2 ) then + if( $LSM_CHOICE != 1 & $LSM_CHOICE != 2 & $LSM_CHOICE != 3 ) then echo - echo "${C1} Catchment Model${CN} must be set equal to ${C2}1{CN} or ${C2}2${CN}!" + echo "${C1} Catchment Model${CN} must be set equal to ${C2}1{CN} , ${C2}2${CN} or ${C2}3${CN}!" goto LSM_CHOICE else echo endif if( $LSM_CHOICE == 1 ) set HIST_CATCHCN = "#DELETE" if( $LSM_CHOICE == 2 ) set HIST_CATCHCN = "" + if( $LSM_CHOICE == 3 ) set HIST_CATCHCN = "" if( $LSM_CHOICE == 1 ) set GCMRUN_CATCHCN = "#DELETE" if( $LSM_CHOICE == 2 ) set GCMRUN_CATCHCN = "" + if( $LSM_CHOICE == 3 ) set GCMRUN_CATCHCN = "" + if( $LSM_CHOICE == 2 ) then + echo "IMPORTANT: please set LAND_PARAMS: to CN_CLM40 in RC/GEOS_SurfaceGridComp.rc in the experiment directory." + else if ( $LSM_CHOICE == 3 ) then + echo "IMPORTANT: please set LAND_PARAMS: to CN_CLM45 in RC/GEOS_SurfaceGridComp.rc in the experiment directory." + endif else set LSM_CHOICE = 1 set HIST_CATCHCN = "#DELETE" @@ -1385,7 +1414,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 @@ -1434,7 +1463,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 @@ -1470,7 +1499,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 @@ -1512,7 +1541,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} @@ -1891,7 +1920,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 @@ -1909,7 +1937,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 @@ -2193,6 +2220,7 @@ s?@TAREXEC?$TAREXEC?g s/@MP_MG1/$MP_MG1/g s/@MP_GFDL/$MP_GFDL/g +s/@MP_NO_USE_WSUB/$MP_NO_USE_WSUB/g s?@GFDL_HYDRO?$GFDL_HYDRO?g s?@FV_NWAT?$FV_NWAT?g s?@FV_ZTRACER?$FV_ZTRACER?g diff --git a/gmichem_setup b/gmichem_setup index c82f74c6..9883d86f 100755 --- a/gmichem_setup +++ b/gmichem_setup @@ -543,14 +543,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" @@ -566,8 +577,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 = "" @@ -821,7 +838,12 @@ if( $AGCM_IM == "c12" ) then # set GOCART_DT = `expr $DT \* 2` 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` @@ -1238,20 +1260,27 @@ endif # ---------------------- if( $LSM_BCS == "Icarus-NLv3" ) then LSM_CHOICE: - echo "Enter the choice of ${C1} Land Surface Model${CN} using: ${C2}1${CN} (Default: Catchment), ${C2}2${CN} (CatchmentCN: Catch-Carbon Model)" + echo "Enter the choice of ${C1} Land Surface Model${CN} using: ${C2}1${CN} (Default: Catchment), ${C2}2${CN} (CatchmentCN-CLM4.0 (CN_CLM40)), ${C2}3${CN} (CatchmentCN-CLM4.5 (CN_CLM45))" set LSM_CHOICE = $< if( .$LSM_CHOICE == . ) set LSM_CHOICE = 1 - if( $LSM_CHOICE != 1 & $LSM_CHOICE != 2 ) then + if( $LSM_CHOICE != 1 & $LSM_CHOICE != 2 & $LSM_CHOICE != 3 ) then echo - echo "${C1} Catchment Model${CN} must be set equal to ${C2}1{CN} or ${C2}2${CN}!" + echo "${C1} Catchment Model${CN} must be set equal to ${C2}1{CN} , ${C2}2${CN} or ${C2}3${CN}!" goto LSM_CHOICE else echo endif if( $LSM_CHOICE == 1 ) set HIST_CATCHCN = "#DELETE" if( $LSM_CHOICE == 2 ) set HIST_CATCHCN = "" + if( $LSM_CHOICE == 3 ) set HIST_CATCHCN = "" if( $LSM_CHOICE == 1 ) set GCMRUN_CATCHCN = "#DELETE" if( $LSM_CHOICE == 2 ) set GCMRUN_CATCHCN = "" + if( $LSM_CHOICE == 3 ) set GCMRUN_CATCHCN = "" + if( $LSM_CHOICE == 2 ) then + echo "IMPORTANT: please set LAND_PARAMS: to CN_CLM40 in RC/GEOS_SurfaceGridComp.rc in the experiment directory." + else if ( $LSM_CHOICE == 3 ) then + echo "IMPORTANT: please set LAND_PARAMS: to CN_CLM45 in RC/GEOS_SurfaceGridComp.rc in the experiment directory." + endif else set LSM_CHOICE = 1 set HIST_CATCHCN = "#DELETE" @@ -1512,7 +1541,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 @@ -1561,7 +1590,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 @@ -1597,7 +1626,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 @@ -1639,7 +1668,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} @@ -2027,7 +2056,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 @@ -2045,7 +2073,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 diff --git a/stratchem_setup b/stratchem_setup index fbd29927..de065609 100755 --- a/stratchem_setup +++ b/stratchem_setup @@ -538,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" @@ -561,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 = "" @@ -748,7 +765,12 @@ if( $AGCM_IM == "c12" ) then # set GOCART_DT = `expr $DT \* 2` 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` @@ -1165,20 +1187,27 @@ endif # ---------------------- if( $LSM_BCS == "Icarus-NLv3" ) then LSM_CHOICE: - echo "Enter the choice of ${C1} Land Surface Model${CN} using: ${C2}1${CN} (Default: Catchment), ${C2}2${CN} (CatchmentCN: Catch-Carbon Model)" + echo "Enter the choice of ${C1} Land Surface Model${CN} using: ${C2}1${CN} (Default: Catchment), ${C2}2${CN} (CatchmentCN-CLM4.0 (CN_CLM40)), ${C2}3${CN} (CatchmentCN-CLM4.5 (CN_CLM45))" set LSM_CHOICE = $< if( .$LSM_CHOICE == . ) set LSM_CHOICE = 1 - if( $LSM_CHOICE != 1 & $LSM_CHOICE != 2 ) then + if( $LSM_CHOICE != 1 & $LSM_CHOICE != 2 & $LSM_CHOICE != 3 ) then echo - echo "${C1} Catchment Model${CN} must be set equal to ${C2}1{CN} or ${C2}2${CN}!" + echo "${C1} Catchment Model${CN} must be set equal to ${C2}1{CN} , ${C2}2${CN} or ${C2}3${CN}!" goto LSM_CHOICE else echo endif if( $LSM_CHOICE == 1 ) set HIST_CATCHCN = "#DELETE" if( $LSM_CHOICE == 2 ) set HIST_CATCHCN = "" + if( $LSM_CHOICE == 3 ) set HIST_CATCHCN = "" if( $LSM_CHOICE == 1 ) set GCMRUN_CATCHCN = "#DELETE" if( $LSM_CHOICE == 2 ) set GCMRUN_CATCHCN = "" + if( $LSM_CHOICE == 3 ) set GCMRUN_CATCHCN = "" + if( $LSM_CHOICE == 2 ) then + echo "IMPORTANT: please set LAND_PARAMS: to CN_CLM40 in RC/GEOS_SurfaceGridComp.rc in the experiment directory." + else if ( $LSM_CHOICE == 3 ) then + echo "IMPORTANT: please set LAND_PARAMS: to CN_CLM45 in RC/GEOS_SurfaceGridComp.rc in the experiment directory." + endif else set LSM_CHOICE = 1 set HIST_CATCHCN = "#DELETE" @@ -1370,7 +1399,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 @@ -1419,7 +1448,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 @@ -1455,7 +1484,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 @@ -1497,7 +1526,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} @@ -1876,7 +1905,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 @@ -1894,7 +1922,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