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

Multiple output (nested) grids from fv3atm #1044

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
8f73255
Update .gitmodules
DusanJovic-NOAA Sep 30, 2021
082f000
Update FV3
DusanJovic-NOAA Sep 30, 2021
b0f4687
Update FV3
DusanJovic-NOAA Sep 30, 2021
c8fe078
Update FV3
DusanJovic-NOAA Nov 3, 2021
d14823f
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Jan 4, 2022
f91801c
Update FV3
DusanJovic-NOAA Jan 5, 2022
f64869f
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Jan 27, 2022
e1acfc2
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Feb 2, 2022
b2fad82
Update esmf to version 8.2.1b04
DusanJovic-NOAA Feb 2, 2022
f0af03e
Update HAFS RTs to use the new multi output grid capability (#19)
BinLiu-NOAA Feb 9, 2022
f232add
Simplify run_test.sh
DusanJovic-NOAA Feb 9, 2022
52ac954
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Feb 10, 2022
4d1ca92
Update fv3
DusanJovic-NOAA Feb 10, 2022
58ee560
Update BL_DATE
DusanJovic-NOAA Feb 10, 2022
63b8efd
update fv3
DusanJovic-NOAA Feb 10, 2022
4b3fdd5
[AutoRT] hera.gnu Job Completed.
BrianCurtis-NOAA Feb 10, 2022
439648d
[AutoRT] hera.intel Job Completed.
BrianCurtis-NOAA Feb 10, 2022
1c8cadb
[AutoRT] orion.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
c996a1d
[AutoRT] gaea.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
81871dc
[AutoRT] cheyenne.gnu Job Completed.
BrianCurtis-NOAA Feb 11, 2022
bdf6b06
Add RegressionTests_wcoss_dell_p3.log
DusanJovic-NOAA Feb 11, 2022
c5e735c
[AutoRT] cheyenne.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
5bf847c
[AutoRT] jet.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
8053948
Update FV3
DusanJovic-NOAA Feb 11, 2022
c327a46
Update comment in tests/parm/model_configure_hafs_shared.IN
DusanJovic-NOAA Feb 11, 2022
b34dd7f
Add RegressionTests_wcoss_cray.log
DusanJovic-NOAA Feb 11, 2022
c4de86e
Update FV3
DusanJovic-NOAA Feb 11, 2022
6ec37cd
[AutoRT] hera.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
fa76723
[AutoRT] orion.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
8952f40
[AutoRT] gaea.intel Job Completed.
BrianCurtis-NOAA Feb 11, 2022
8d70221
Update FV3
DusanJovic-NOAA Feb 14, 2022
de02fb2
Update BL_DATE
DusanJovic-NOAA Feb 14, 2022
07814a9
[AutoRT] cheyenne.gnu Job Completed.
BrianCurtis-NOAA Feb 14, 2022
9d008dc
Add RegressionTests_wcoss_cray.log
DusanJovic-NOAA Feb 14, 2022
03b5200
[AutoRT] hera.gnu Job Completed.
BrianCurtis-NOAA Feb 14, 2022
37ea233
Add RegressionTests_wcoss_dell_p3.log
DusanJovic-NOAA Feb 14, 2022
0d0cb54
[AutoRT] hera.intel Job Completed.
BrianCurtis-NOAA Feb 14, 2022
419d604
[AutoRT] gaea.intel Job Completed.
BrianCurtis-NOAA Feb 14, 2022
965c5bd
[AutoRT] cheyenne.intel Job Completed.
BrianCurtis-NOAA Feb 14, 2022
ed6a4b6
[AutoRT] jet.intel Job Completed.
BrianCurtis-NOAA Feb 14, 2022
08da829
[AutoRT] orion.intel Job Completed.
BrianCurtis-NOAA Feb 14, 2022
aeb973b
Revert .gitmodules and update FV3
DusanJovic-NOAA Feb 15, 2022
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
322 changes: 161 additions & 161 deletions tests/RegressionTests_cheyenne.gnu.log

Large diffs are not rendered by default.

1,018 changes: 517 additions & 501 deletions tests/RegressionTests_cheyenne.intel.log

Large diffs are not rendered by default.

1,008 changes: 512 additions & 496 deletions tests/RegressionTests_gaea.intel.log

Large diffs are not rendered by default.

320 changes: 160 additions & 160 deletions tests/RegressionTests_hera.gnu.log

Large diffs are not rendered by default.

1,040 changes: 528 additions & 512 deletions tests/RegressionTests_hera.intel.log

Large diffs are not rendered by default.

936 changes: 468 additions & 468 deletions tests/RegressionTests_jet.intel.log

Large diffs are not rendered by default.

1,022 changes: 519 additions & 503 deletions tests/RegressionTests_orion.intel.log

Large diffs are not rendered by default.

664 changes: 336 additions & 328 deletions tests/RegressionTests_wcoss_cray.log

Large diffs are not rendered by default.

5,255 changes: 2,170 additions & 3,085 deletions tests/RegressionTests_wcoss_dell_p3.log

Large diffs are not rendered by default.

129 changes: 129 additions & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1442,6 +1442,7 @@ export DLAT=0.03

# input.nml
export CPL_IMP_MRG=.true.

export DIAG_TABLE=diag_table_hafs
export FIELD_TABLE=field_table_hafs

Expand All @@ -1453,3 +1454,131 @@ export CPLMODE=hafs
export RUNTYPE=startup
export USE_COLDSTART=false
}

export_hafs ()
{
export FV3=true
export S2S=false
export HAFS=true
export DATM_CDEPS=false
export DOCN_CDEPS=false
export THRD=1
export INPES=$INPES_dflt
export JNPES=$JNPES_dflt
export TASKS=$TASKS_dflt
export TPN=$TPN_dflt

export OUTPUT_GRID=''
export IMO=''
export JMO=''
export CEN_LON=''
export CEN_LAT=''
export LON1=''
export LAT1=''
export LON2=''
export LAT2=''
export DLON=''
export DLAT=''
export STDLAT1=''
export STDLAT2=''
export NX=''
export NY=''
export DX=''
export DY=''

export OUTPUT_GRID_2=''
export IMO_2=''
export JMO_2=''
export CEN_LON_2=''
export CEN_LAT_2=''
export LON1_2=''
export LAT1_2=''
export LON2_2=''
export LAT2_2=''
export DLON_2=''
export DLAT_2=''
export STDLAT1_2=''
export STDLAT2_2=''
export NX_2=''
export NY_2=''
export DX_2=''
export DY_2=''

export OUTPUT_GRID_3=''
export IMO_3=''
export JMO_3=''
export CEN_LON_3=''
export CEN_LAT_3=''
export LON1_3=''
export LAT1_3=''
export LON2_3=''
export LAT2_3=''
export DLON_3=''
export DLAT_3=''
export STDLAT1_3=''
export STDLAT2_3=''
export NX_3=''
export NY_3=''
export DX_3=''
export DY_3=''

export OUTPUT_GRID_4=''
export IMO_4=''
export JMO_4=''
export CEN_LON_4=''
export CEN_LAT_4=''
export LON1_4=''
export LAT1_4=''
export LON2_4=''
export LAT2_4=''
export DLON_4=''
export DLAT_4=''
export STDLAT1_4=''
export STDLAT2_4=''
export NX_4=''
export NY_4=''
export DX_4=''
export DY_4=''

export OUTPUT_GRID_5=''
export IMO_5=''
export JMO_5=''
export CEN_LON_5=''
export CEN_LAT_5=''
export LON1_5=''
export LAT1_5=''
export LON2_5=''
export LAT2_5=''
export DLON_5=''
export DLAT_5=''
export STDLAT1_5=''
export STDLAT2_5=''
export NX_5=''
export NY_5=''
export DX_5=''
export DY_5=''

export OUTPUT_GRID_6=''
export IMO_6=''
export JMO_6=''
export CEN_LON_6=''
export CEN_LAT_6=''
export LON1_6=''
export LAT1_6=''
export LON2_6=''
export LAT2_6=''
export DLON_6=''
export DLAT_6=''
export STDLAT1_6=''
export STDLAT2_6=''
export NX_6=''
export NY_6=''
export DX_6=''
export DY_6=''

export NFHOUT=3
export NFHMAX_HF=-1
export NFHOUT_HF=3
export NSOUT=-1
export OUTPUT_FH=-1
}
137 changes: 122 additions & 15 deletions tests/parm/model_configure_hafs_shared.IN
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,126 @@ kchunk3d: -1
ideflate: @[IDEFLATE]
nbits: @[NBITS]

app_domain: 'regional'
output_grid: @[OUTPUT_GRID]
cen_lon: @[CEN_LON] # central longitude
cen_lat: @[CEN_LAT] # central latitude
lon1: @[LON1] # longitude of lower-left
lat1: @[LAT1] # latitude of lower-left
lon2: @[LON2] # longitude of upper-right
lat2: @[LAT2] # latitude of upper-right
dlon: @[DLON]
dlat: @[DLAT]
output_grid: @[OUTPUT_GRID] # gaussian_grid, global_latlon, regional_latlon, rotated_latlon, lambert_conformal, cubed_sphere_grid
imo: @[IMO] # number of grid points along longitude/latitude direction
jmo: @[JMO] # needed for gaussian_grid or global_latlon
cen_lon: @[CEN_LON] # central longitude/latitude (degrees)
cen_lat: @[CEN_LAT] # needed for rotated_latlon, lambert_conformal
lon1: @[LON1] # longitude/latitude of lower-left corner
lat1: @[LAT1] # needed for regional_latlon, rotated_latlon, lambert_conformal
lon2: @[LON2] # longitude/latitude of upper-right corner
lat2: @[LAT2] # needed for regional_latlon, rotated_latlon
dlon: @[DLON] # grid spacing in longitude/latitude direction (degrees)
dlat: @[DLAT] # needed for regional_latlon, rotated_latlon
stdlat1: @[STDLAT1] # latitude of first/second standard parallel (degrees)
stdlat2: @[STDLAT2] # needed for lambert_conformal
nx: @[NX] # number of grid cells along x/y-axis
ny: @[NY] # needed for lambert_conformal
dx: @[DX] # grid cell size in x/y direction (meters)
dy: @[DY] # needed for lambert_conformal

nfhout: @[NFHOUT]
nfhmax_hf: @[NFHMAX_HF]
nfhout_hf: @[NFHOUT_HF]
nsout: -1
output_fh: -1
<output_grid_02>
output_grid: @[OUTPUT_GRID_2]
imo: @[IMO_2]
jmo: @[JMO_2]
cen_lon: @[CEN_LON_2]
cen_lat: @[CEN_LAT_2]
lon1: @[LON1_2]
lat1: @[LAT1_2]
lon2: @[LON2_2]
lat2: @[LAT2_2]
dlon: @[DLON_2]
dlat: @[DLAT_2]
stdlat1: @[STDLAT1_2]
stdlat2: @[STDLAT2_2]
nx: @[NX_2]
ny: @[NY_2]
dx: @[DX_2]
dy: @[DY_2]
</output_grid_02>
<output_grid_03>
output_grid: @[OUTPUT_GRID_3]
imo: @[IMO_3]
jmo: @[JMO_3]
cen_lon: @[CEN_LON_3]
cen_lat: @[CEN_LAT_3]
lon1: @[LON1_3]
lat1: @[LAT1_3]
lon2: @[LON2_3]
lat2: @[LAT2_3]
dlon: @[DLON_3]
dlat: @[DLAT_3]
stdlat1: @[STDLAT1_3]
stdlat2: @[STDLAT2_3]
nx: @[NX_3]
ny: @[NY_3]
dx: @[DX_3]
dy: @[DY_3]
</output_grid_03>
<output_grid_04>
output_grid: @[OUTPUT_GRID_4]
imo: @[IMO_4]
jmo: @[JMO_4]
cen_lon: @[CEN_LON_4]
cen_lat: @[CEN_LAT_4]
lon1: @[LON1_4]
lat1: @[LAT1_4]
lon2: @[LON2_4]
lat2: @[LAT2_4]
dlon: @[DLON_4]
dlat: @[DLAT_4]
stdlat1: @[STDLAT1_4]
stdlat2: @[STDLAT2_4]
nx: @[NX_4]
ny: @[NY_4]
dx: @[DX_4]
dy: @[DY_4]
</output_grid_04>
<output_grid_05>
output_grid: @[OUTPUT_GRID_5]
imo: @[IMO_5]
jmo: @[JMO_5]
cen_lon: @[CEN_LON_5]
cen_lat: @[CEN_LAT_5]
lon1: @[LON1_5]
lat1: @[LAT1_5]
lon2: @[LON2_5]
lat2: @[LAT2_5]
dlon: @[DLON_5]
dlat: @[DLAT_5]
stdlat1: @[STDLAT1_5]
stdlat2: @[STDLAT2_5]
nx: @[NX_5]
ny: @[NY_5]
dx: @[DX_5]
dy: @[DY_5]
</output_grid_05>
<output_grid_06>
output_grid: @[OUTPUT_GRID_6]
imo: @[IMO_6]
jmo: @[JMO_6]
cen_lon: @[CEN_LON_6]
cen_lat: @[CEN_LAT_6]
lon1: @[LON1_6]
lat1: @[LAT1_6]
lon2: @[LON2_6]
lat2: @[LAT2_6]
dlon: @[DLON_6]
dlat: @[DLAT_6]
stdlat1: @[STDLAT1_6]
stdlat2: @[STDLAT2_6]
nx: @[NX_6]
ny: @[NY_6]
dx: @[DX_6]
dy: @[DY_6]
</output_grid_06>

nfhout: @[NFHOUT] # Output frequency in hours after forecast hour nfhmax_hf
nfhmax_hf: @[NFHMAX_HF] # Number of forecast hours until output frequency nfhout takes affect
nfhout_hf: @[NFHOUT_HF] # Output frequency in hours until forecast hour nfhmax_hf
nsout: @[NSOUT] # Output frequency in time steps (positive values override nfhout and nfhout_hf)
output_fh: @[OUTPUT_FH] # Output forecast hours controlled by output_fh (see notes below)
# a) An array of output_fh means to output history files at those forecast time (e.g., "output_fh: 0 1 2 3 12 24 48")
# If the first elelment is zero, it means the first time step output
# b) If there are two elements in output_fh and the second one is -1, then the first element is output frequency. e.g.
# For example, "output_fh: 6 -1" will output the history file every 6 hours.
2 changes: 1 addition & 1 deletion tests/rt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ if [[ $TESTS_FILE =~ '35d' ]] || [[ $TESTS_FILE =~ 'weekly' ]]; then
TEST_35D=true
fi

BL_DATE=20220207
BL_DATE=20220214
if [[ $MACHINE_ID = hera.* ]] || [[ $MACHINE_ID = orion.* ]] || [[ $MACHINE_ID = cheyenne.* ]] || [[ $MACHINE_ID = gaea.* ]] || [[ $MACHINE_ID = jet.* ]] || [[ $MACHINE_ID = s4.* ]]; then
RTPWD=${RTPWD:-$DISKNM/NEMSfv3gfs/develop-${BL_DATE}/${RT_COMPILER^^}}
else
Expand Down
17 changes: 17 additions & 0 deletions tests/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -114,27 +114,44 @@ if [[ "Q${INPUT_NEST02_NML:-}" != Q ]] ; then
NPX_NEST=$NPX_NEST02; NPY_NEST=$NPY_NEST02
K_SPLIT_NEST=$K_SPLIT_NEST02; N_SPLIT_NEST=$N_SPLIT_NEST02
atparse < ${PATHRT}/parm/${INPUT_NEST02_NML} > input_nest02.nml
else
sed -i -e "/<output_grid_02>/,/<\/output_grid_02>/d" model_configure
fi

if [[ "Q${INPUT_NEST03_NML:-}" != Q ]] ; then
INPES_NEST=$INPES_NEST03; JNPES_NEST=$JNPES_NEST03
NPX_NEST=$NPX_NEST03; NPY_NEST=$NPY_NEST03
K_SPLIT_NEST=$K_SPLIT_NEST03; N_SPLIT_NEST=$N_SPLIT_NEST03
atparse < ${PATHRT}/parm/${INPUT_NEST03_NML} > input_nest03.nml
else
sed -i -e "/<output_grid_03>/,/<\/output_grid_03>/d" model_configure
fi

if [[ "Q${INPUT_NEST04_NML:-}" != Q ]] ; then
INPES_NEST=$INPES_NEST04; JNPES_NEST=$JNPES_NEST04
NPX_NEST=$NPX_NEST04; NPY_NEST=$NPY_NEST04
K_SPLIT_NEST=$K_SPLIT_NEST04; N_SPLIT_NEST=$N_SPLIT_NEST04
atparse < ${PATHRT}/parm/${INPUT_NEST04_NML} > input_nest04.nml
else
sed -i -e "/<output_grid_04>/,/<\/output_grid_04>/d" model_configure
fi

if [[ "Q${INPUT_NEST05_NML:-}" != Q ]] ; then
INPES_NEST=$INPES_NEST05; JNPES_NEST=$JNPES_NEST05
NPX_NEST=$NPX_NEST05; NPY_NEST=$NPY_NEST05
K_SPLIT_NEST=$K_SPLIT_NEST05; N_SPLIT_NEST=$N_SPLIT_NEST05
atparse < ${PATHRT}/parm/${INPUT_NEST05_NML} > input_nest05.nml
else
sed -i -e "/<output_grid_05>/,/<\/output_grid_05>/d" model_configure
fi

if [[ "Q${INPUT_NEST06_NML:-}" != Q ]] ; then
INPES_NEST=$INPES_NEST06; JNPES_NEST=$JNPES_NEST06
NPX_NEST=$NPX_NEST06; NPY_NEST=$NPY_NEST06
K_SPLIT_NEST=$K_SPLIT_NEST06; N_SPLIT_NEST=$N_SPLIT_NEST06
atparse < ${PATHRT}/parm/${INPUT_NEST06_NML} > input_nest06.nml
else
sed -i -e "/<output_grid_06>/,/<\/output_grid_06>/d" model_configure
fi

# diag table
Expand Down
30 changes: 19 additions & 11 deletions tests/tests/hafs_global_1nest_atm
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,45 @@ export TEST_DESCR="Compare HAFS global with 1 nest and atmosphere only results w
export CNTL_DIR=hafs_global_1nest_atm

export LIST_FILES="atmf006.nc \
sfcf006.nc"
sfcf006.nc \
atm.nest02.f006.nc \
sfc.nest02.f006.nc"

export_fv3
export_hafs

export HAFS=true
export FHMAX=6
export RESTART_N=${FHMAX}
export TASKS=240
export THRD=2
export TPN=$TPN_thrd
export CEN_LON=-86.0
export CEN_LAT=23.0
export LON1=-45.00
export LAT1=-40.00
export LON2=45.00
export LAT2=40.00
export DLON=0.1
export DLAT=0.1
export DT_ATMOS=90
export IDEFLATE=1
export NFHMAX_HF=-1
export NFHOUT_HF=3
export NFHOUT=3
export OUTPUT_FILE="'netcdf_parallel' 'netcdf_parallel'"
export OUTPUT_GRID='rotated_latlon'
export OUTPUT_FILE="'netcdf_parallel' 'netcdf'"
export SDAY=25
export SHOUR=12
export SMONTH=08
export SYEAR=2020
export WRTTASK_PER_GROUP=60

export OUTPUT_GRID='global_latlon'
export IMO=360
export JMO=181

export OUTPUT_GRID_2='rotated_latlon'
export CEN_LON_2=-86.0
export CEN_LAT_2=23.0
export LON1_2=-45.00
export LAT1_2=-40.00
export LON2_2=45.00
export LAT2_2=40.00
export DLON_2=0.25
export DLAT_2=0.25

export BLOCKSIZE=${BLOCKSIZE:-24}
export CCPP_SUITE="FV3_HAFS_v0_gfdlmp_tedmf"
export DEFLATE_LEVEL=-1
Expand Down
Loading