Skip to content

Commit

Permalink
reorganize ww3_tp2.14 by separated input directories (NOAA-EMC#607)
Browse files Browse the repository at this point in the history
and  fix it to use with namelist files
minor update in the coupling itself to use the same conditions for each exchanged variable.
  • Loading branch information
mickaelaccensi authored Feb 17, 2022
1 parent 013f342 commit 0496d36
Show file tree
Hide file tree
Showing 115 changed files with 5,391 additions and 273 deletions.
32 changes: 32 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,38 @@ regtests/ww3_tp2.14/input*/*.nc.OAS*CM*
regtests/ww3_tp2.14/input*/*/*.nc.OAS*CM*
regtests/ww3_tp2.14/input/toy/*.o
regtests/ww3_tp2.14/input/oasis3-mct/util/make_dir/cmplr
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mct/*.mod
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mct/*_scratch.f
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mct/Makefile.conf
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mct/*.lst
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mpeu/*.mod
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mpeu/mpeu
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mpeu/Makefile.conf
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/mpeu/*.lst
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/texsrc/*.F90
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/texsrc/*.tex
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.toc
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.log
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.dvi
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.aux
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.blg
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.bbl
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/doc/*.pdf
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/climate_concur1/climate
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/climate_concur1/*.mod
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/climate_concur1/poe.*
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/simple/twocon
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/simple/twoseq
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/simple/twosequn
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/simple/twoseqNB
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/climate_sequen1/MCT.*
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/climate_sequen1/*.mod
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/examples/climate_sequen1/climate
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/Makefile.conf
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/config.log
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/config.status
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/config.h
regtests/ww3_tp2.14/input/oasis3-mct/lib/mct/autom4te.cache
regtests/ww3_tp2.14/input/toy/toy_model
regtests/ww3_tp2.14/input/ww3_shel.inp
regtests/ww3_tp2.14/input/ww3_shel.nml
Expand Down
14 changes: 11 additions & 3 deletions model/bin/ww3_from_ftp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,17 @@ cp -r data_regtests/ww3_tp2.8/input/*.nc regtests/ww3_tp2.8/input/
cp -r data_regtests/ww3_tp2.12/input/* regtests/ww3_tp2.12/input/
cp -r data_regtests/ww3_tp2.12/input_be/* regtests/ww3_tp2.12/input_be/
cp -r data_regtests/ww3_tp2.12/input_le/* regtests/ww3_tp2.12/input_le/
cp -r data_regtests/ww3_tp2.14/input/r-ww3.nc.OAS*CM regtests/ww3_tp2.14/input/
cp -r data_regtests/ww3_tp2.14/input/r-ww3.nc.OASACM regtests/ww3_tp2.14/input/r-ww3.nc.OASACM2
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input/
cp -r data_regtests/ww3_tp2.14/input/r-ww3.nc.OASOCM regtests/ww3_tp2.14/input_oasocm/r-ww3.nc
cp -r data_regtests/ww3_tp2.14/input/r-ww3.nc.OASICM regtests/ww3_tp2.14/input_oasicm/r-ww3.nc
cp -r data_regtests/ww3_tp2.14/input/r-ww3.nc.OASACM regtests/ww3_tp2.14/input_oasacm/r-ww3.nc
cp -r data_regtests/ww3_tp2.14/input/r-ww3.nc.OASACM regtests/ww3_tp2.14/input_oasacm2/r-ww3.nc
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasocm/
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasicm/
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasacm/
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasacm2/
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasacm4/
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasacm5/
cp -r data_regtests/ww3_tp2.14/input/rmp_* regtests/ww3_tp2.14/input_oasacm6/
if [ ! -d regtests/ww3_tp2.14/input/oasis3-mct/doc ]
then
mkdir regtests/ww3_tp2.14/input/oasis3-mct/doc
Expand Down
26 changes: 18 additions & 8 deletions model/src/w3ogcmmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,9 @@ SUBROUTINE SND_FIELDS_TO_OCEAN()
! Mask - wet-drying
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_ODRY') THEN
RLA_OASIS_SND(:,1) = DBLE(MASK(1:NSEAL))
TMP(1:NSEAL) = 0.0
WHERE(MASK(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=MASK(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
Expand Down Expand Up @@ -181,14 +183,18 @@ SUBROUTINE SND_FIELDS_TO_OCEAN()
! Charnock coefficient (-)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_OCHA') THEN
RLA_OASIS_SND(:,1) = DBLE(CHARN(1:NSEAL))
TMP(1:NSEAL) = 0.0
WHERE(CHARN(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=CHARN(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Wave height (hs in m)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__OHS') THEN
RLA_OASIS_SND(:,1) = DBLE(HS(1:NSEAL))
TMP(1:NSEAL) = 0.0
WHERE(HS(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=HS(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
Expand All @@ -198,7 +204,7 @@ SUBROUTINE SND_FIELDS_TO_OCEAN()
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_CDIR') THEN
TMP(1:NSEAL) = 0.0
WHERE(THM(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=COS(THM(1:NSEAL))
RLA_OASIS_SND(:,1) = TMP(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
Expand All @@ -208,7 +214,7 @@ SUBROUTINE SND_FIELDS_TO_OCEAN()
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_SDIR') THEN
TMP(1:NSEAL) = 0.0
WHERE(THM(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=SIN(THM(1:NSEAL))
RLA_OASIS_SND(:,1) = TMP(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
Expand All @@ -217,15 +223,17 @@ SUBROUTINE SND_FIELDS_TO_OCEAN()
! dir : nautical convention (GRIDDED files) - 0 degree from north, 90 from east
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__DIR') THEN
TMP(1:NSEAL) = 0.0
WHERE(THM /= UNDEF) TMP=THM
WHERE(THM /= UNDEF) TMP(1:NSEAL)=THM(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Wave-induced Bernoulli head pressure (bhd in N.m-1) (J term, Smith JPO 2006)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__BHD') THEN
RLA_OASIS_SND(:,1) = DBLE(BHD(1:NSEAL))
TMP(1:NSEAL) = 0.0
WHERE(BHD(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=BHD(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
Expand Down Expand Up @@ -304,7 +312,9 @@ SUBROUTINE SND_FIELDS_TO_OCEAN()
! rms amplitude of orbital velocity of the waves (ubr in m.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__UBR') THEN
RLA_OASIS_SND(:,1) = DBLE(UBA(1:NSEAL))
TMP(1:NSEAL) = 0.0
WHERE(UBA(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=UBA(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
Expand Down
25 changes: 8 additions & 17 deletions regtests/bin/matrix.base
Original file line number Diff line number Diff line change
Expand Up @@ -2075,28 +2075,19 @@
if [ "$oasis" = 'y' ] && [ "$dist" = 'y' ]
then
echo ' ' >> matrix.body
echo "$rtst -s OASACM -w work_OASACM -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASACM2 -w work_OASACM2 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "mkdir -p ww3_tp2.14/work_OASACM3" >> matrix.body
echo "cp ww3_tp2.14/input/ww3_shel_OASACM3.nml ww3_tp2.14/work_OASACM3/ww3_shel.nml" >> matrix.body
echo "$rtst -s OASACM -i input_oasacm -w work_OASACM -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASACM2 -i input_oasacm2 -w work_OASACM2 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
halfnp=$(($np / 2))
echo "$rtst -s OASACM3 -w work_OASACM3 -f -p $mpi -n $halfnp $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASACM3 -i input_oasacm3 -w work_OASACM3 -f -p $mpi -n $halfnp $ww3 ww3_tp2.14" >> matrix.body
echo "mkdir -p ww3_tp2.14/work_OASACM4" >> matrix.body
echo "ln -sf ../work_OASACM3/restart001.ww3 ww3_tp2.14/work_OASACM4/restart.ww3" >> matrix.body
echo "$rtst -r ww3_grid -s OASACM4 -w work_OASACM4 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -r ww3_shel -s OASACM4 -w work_OASACM4 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -r ww3_ounf -s OASACM4 -w work_OASACM4 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASACM4 -i input_oasacm4 -w work_OASACM4 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "mkdir -p ww3_tp2.14/work_OASACM5" >> matrix.body
echo "ln -sf ../work_OASACM4/restart001.ww3 ww3_tp2.14/work_OASACM5/restart.ww3" >> matrix.body
echo "$rtst -r ww3_grid -s OASACM5 -w work_OASACM5 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -r ww3_shel -s OASACM5 -w work_OASACM5 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -r ww3_ounf -s OASACM5 -w work_OASACM5 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "mv ww3_tp2.14/input/ww3_ounf.inp ww3_tp2.14/input/ww3_ounf.inp.bak" >> matrix.body
echo "cp ww3_tp2.14/input/ww3_ounf.inp-OASACM6 ww3_tp2.14/input/ww3_ounf.inp" >> matrix.body
echo "$rtst -g OASACM6 -s OASACM6 -w work_OASACM6 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "mv ww3_tp2.14/input/ww3_ounf.inp.bak ww3_tp2.14/input/ww3_ounf.inp" >> matrix.body
echo "$rtst -s OASOCM -w work_OASOCM -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASICM -w work_OASICM -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASACM5 -i input_oasacm5 -w work_OASACM5 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASACM6 -i input_oasacm6 -w work_OASACM6 -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASOCM -i input_oasocm -w work_OASOCM -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
echo "$rtst -s OASICM -i input_oasicm -w work_OASICM -C OASIS -f -p $mpi -n $np $ww3 ww3_tp2.14" >> matrix.body
fi

#Test of UFS applications with ww3_multi and grib2 output
Expand Down
69 changes: 44 additions & 25 deletions regtests/bin/matrix.comp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
# --------------------------------------------------------------------------- #
# matrix.comp Compare output of matrix for two model versions. #
# #
Expand Down Expand Up @@ -111,13 +111,7 @@
# 3. Looping over work directories #
# --------------------------------------------------------------------------- #

cases=$(find . -maxdepth 1 -type d -name "work*" | grep -v work_oasis)
# skip to next tst if no work directory
echo 'run : ' $cases
if [ -z "$cases" ] ; then
echo "skip"
continue
fi
cases=$(find . -maxdepth 1 -type d -name "work*" )

for run in $cases
do
Expand Down Expand Up @@ -153,20 +147,58 @@

cd $return_base ; cd $run
rm -f diff_tempfile
files_1=`find -type f | sed "s#^./##"`

files_0=`ls`
files_1=""
for file in $files_0
do
if [[ -d $file ]]; then
if [[ $file == build* ]] || [[ $file == exe* ]] ||
[[ $file == *oasis3-mct* ]] || [[ $file == toy* ]]; then
echo "do not compare build or exe directories $file"
else
#add files:
files_dir=`ls $file`
for file1 in $files_dir
do
files_1="$files_1 $file1"
done
fi
else
files_1="$files_1 $file"
fi
done

#Generate list of binary files in the directory
binaryfiles=`grep . -r * | grep 'Binary file' | sed -e "s/^Binary file //" -e "s/ matches$//"`

#Generate list of files to skip
skipfiles="ww3_shel.out ww3_multi.out prf.*.mww3 finished ww3_systrk.out gmon.out time_count.txt oasis_make.out oasis_clean.out toy_make.out toy_clean.out"
skipfiles="ww3_shel.out ww3_multi.out prf.*.mww3 finished ww3_systrk.out gmon.out time_count.txt oasis_make.out oasis_clean.out toy_model toy_make.out toy_clean.out build.log"

nf_1=`echo $files_1 | wc -w | awk '{print $1}'`
echo " found $nf_1 files in base directory" >> $home_dir/fulldiff.tmp

cd $return_comp ; cd $run
rm -f diff_tempfile
files_2=`find -type f | sed "s#^./##"`
files_0=`ls`
files_2=""
for file in $files_0
do
if [[ -d $file ]]; then
if [[ $file == build* ]] || [[ $file == exe* ]] ||
[[ $file == *oasis3-mct* ]] || [[ $file == toy* ]]; then
echo "do not compare build or exe directories $file"
else
#add files:
files_dir=`ls $file`
for file1 in $files_dir
do
files_2="$files_1 $file1"
done
fi
else
files_2="$files_2 $file"
fi
done

nf_2=`echo $files_2 | wc -w | awk '{print $1}'`
echo " found $nf_2 files in compare directory" >> $home_dir/fulldiff.tmp
Expand Down Expand Up @@ -402,19 +434,6 @@
rm -f $home_dir/summary.tmp
rm -f $home_dir/fulldiff.tmp


# echo ' '
# cat $home_dir/fulldiff.tmp
# echo '**********************************************************************'
#
# echo ' '
# cat $home_dir/isIdenticalList.tmp
# echo '**********************************************************************'
#
# echo ' '
# cat $home_dir/notIdenticalList.tmp
# echo '**********************************************************************'

echo ' '
echo " Saved summary to $home_dir/matrixCompSummary.txt"
echo " Saved full output to $home_dir/matrixCompFull.txt"
Expand Down
Loading

0 comments on commit 0496d36

Please sign in to comment.