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

Hf NCOswitch ndso fixes for NCEP Op applications #9

Merged
merged 3 commits into from
Apr 4, 2019
Merged
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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The WAVEWATCH III Framework

WAVEWATCH III ™ is a community wave modeling framework that includes the
WAVEWATCH III ® is a community wave modeling framework that includes the
latest scientific advancements in the field of wind-wave modeling and dynamics.

## General Features
Expand All @@ -11,7 +11,7 @@ for shallow-water (surf zone) applications, as well as wetting and drying of
grid points. Propagation of a wave spectrum can be solved using regular
(rectilinear or curvilinear) and unstructured (triangular) grids. See
[About WW3](https://github.com/NOAA-EMC/WW3/wiki/About-WW3) for a
detailed description of WAVEWATCH III ™.
detailed description of WAVEWATCH III ®.

## Installation

Expand Down
10 changes: 8 additions & 2 deletions model/bin/link.cray_xc.Intel
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@

# Intel compiler ------------------------------------------------------------
# 3.a Build options and determine compiler name
# No GRIB libraries for this one

opt="-o $prog"
opt="$opt -xHost -O3 -ip -fno-alias -fp-model strict -no-fma -ftz"
Expand Down Expand Up @@ -121,7 +120,14 @@
fi
fi

# netcdf library dir
if [ "$ncep_grib_compile" = 'yes' ]
then
# GRIB libraries for this one
opt="$opt -convert big_endian -assume byterecl -prec-div -prec-sqrt -ip"
libs="$libs ${G2_LIB4} ${W3NCO_LIB4} ${BACIO_LIB4} ${JASPER_LIB} ${PNG_LIB} ${Z_LIB}"
fi

# netcdf library dir
if [ "$netcdf_compile" = 'yes' ]
then
case $WWATCH3_NETCDF in
Expand Down
5 changes: 4 additions & 1 deletion model/bin/link.wcoss_phase2
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,11 @@
esac
fi

if [ "$prog" = 'ww3_grib' ]
# NCEP grib creation
if [ "$ncep_grib_compile" = 'yes' ]
then
# GRIB libraries for this one
opt="$opt -convert big_endian -assume byterecl -prec-div -prec-sqrt -ip"
libs="$libs ${G2_LIB4} ${W3NCO_LIB4} ${BACIO_LIB4} ${JASPER_LIB} ${PNG_LIB} ${Z_LIB}"
fi

Expand Down
1 change: 1 addition & 0 deletions model/bin/switch_NCEP_glwu
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
F90 NCO NOPA LRB4 NCEP2 DIST MPI SCRIP SCRIPNC NC4 PR3 UQ ST4 STAB0 FLX0 LN1 NL3 BT1 DB1 IC0 IS0 REF0 MLIM TR0 BS0 XX0 WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O4 O5 O6 O7 O14 O15
1 change: 1 addition & 0 deletions model/bin/switch_NCEP_gwm
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
F90 NCO NOPA LRB4 NOGRB DIST MPI OMPH OMPG SCRIP SCRIPNC NC4 PR3 UQ ST4 STAB0 FLX0 LN1 NL1 BT1 DB1 IC4 IS0 REF0 TR0 BS0 XX0 WNX1 WNT1 CRX1 CRT1 RWND O0 O1 O2 O4 O5 O6 O7 O14 O15
7 changes: 7 additions & 0 deletions model/bin/w3_make
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,13 @@
cdf_programs="$cdf_programs ww3_prtide"
fi

# NCEP GRIB
export ncep_grib_compile="no"
if [ -n "`grep NCEP $switch_file`" ]
then
export ncep_grib_compile="yes"
fi

# MULTI MULTI_ESMF SBS1
if [ -n "`grep SCRIPNC $switch_file`" ] || [ -n "`grep OASIS $switch_file`" ] || [ -n "`grep PDLIB $switch_file`" ]
then
Expand Down
3 changes: 3 additions & 0 deletions model/ftn/ww3_ounf.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -3397,6 +3397,9 @@
FNAMENC(S1+S2+1:S1+S2+3) = '.nc'
FNAMENC(S1+S2+4:S1+S2+6) = ' '

!/NCO ! For NCEP application, requires fixed netcdf file name
!/NCO FNAMENC='ww3.gridded.nc'

! If the flag frequency is .TRUE., defines the fourth dimension
IF (FLFRQ) THEN
UNITVAR(:)=UNITS
Expand Down
2 changes: 1 addition & 1 deletion model/ftn/ww3_ounp.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@
!/MPI INTEGER :: IERR_MPI
!/O14 INTEGER :: NDBO
!/S INTEGER, SAVE :: IENT = 0
!/NCO INTEGER :: NDSTAB
!/NCO INTEGER :: NDSTAB, NDST
!
INTEGER, ALLOCATABLE :: INDREQ(:), INDREQTMP(:)
INTEGER,ALLOCATABLE :: NCID(:)
Expand Down
102 changes: 51 additions & 51 deletions model/ftn/ww3_uprstr.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -115,62 +115,62 @@
! i. ww3_uprstr.inp
! It includes some limited information for running the program:
!
!$ -------------------------------------------------------------------- $
!$ WAVEWATCH III Update Restart input file $
!$ -------------------------------------------------------------------- $
!$
!$ Time of Assimilation ----------------------------------------------- $
!$ - Starting time in yyyymmdd hhmmss format.
!$
!$ This is the assimilation starting time and has to be the same with
!$ the time at the restart.ww3.
!$
! -------------------------------------------------------------------- $
! WAVEWATCH III Update Restart input file $
! -------------------------------------------------------------------- $
!
! Time of Assimilation ----------------------------------------------- $
! - Starting time in yyyymmdd hhmmss format.
!
! This is the assimilation starting time and has to be the same with
! the time at the restart.ww3.
!
! 19680607 120000
!$
!$ Choose algorithm to update restart file
!$ UPDN for the Nth approach
!$ The UPDN*, with N<2 the same correction factor is applied at all the grid points
!$ UPD0C:: ELIMINATED
!$ UPDOF:: Option 0F All the spectra are updated with a constant
!$ fac=HsAnl/HsBckg.
!$ Expected input: PRCNTG, as defined at fac
!$ UPD1 :: ELIMINATED
!$ UPDN, with N>1 each gridpoint has its own update factor.
!$ UPD2 :: Option 2 The fac(x,y,frq,theta), is calculated at each grid point
!$ according to HsBckg and HsAnl
!$ Expected input the Analysis field, grbtxt format
!$ UPD3 :: Option 3 The update factor is a surface with the shape of
!$ the background spectrum.
!$ Expected input the Analysis field, grbtxt format
!$ UPD4 :: [NOT INCLUDED in this Version, Just keeping the spot]
!$ Option 4 The generalization of the UPD3. The update factor
!$ is the sum of surfaces which are applied on the background
!$ spectrum.
!$ The algorithm requires the mapping of each partition on the
!$ individual spectra; the map is used to determine the weighting
!$ surfaces.
!$ Expected input: the Analysis field, grbtxt format and the
!$ functions(frq,theta) of the update to be applied.
!
! Choose algorithm to update restart file
! UPDN for the Nth approach
! The UPDN*, with N<2 the same correction factor is applied at all the grid points
! UPD0C:: ELIMINATED
! UPDOF:: Option 0F All the spectra are updated with a constant
! fac=HsAnl/HsBckg.
! Expected input: PRCNTG, as defined at fac
! UPD1 :: ELIMINATED
! UPDN, with N>1 each gridpoint has its own update factor.
! UPD2 :: Option 2 The fac(x,y,frq,theta), is calculated at each grid point
! according to HsBckg and HsAnl
! Expected input the Analysis field, grbtxt format
! UPD3 :: Option 3 The update factor is a surface with the shape of
! the background spectrum.
! Expected input the Analysis field, grbtxt format
! UPD4 :: [NOT INCLUDED in this Version, Just keeping the spot]
! Option 4 The generalization of the UPD3. The update factor
! is the sum of surfaces which are applied on the background
! spectrum.
! The algorithm requires the mapping of each partition on the
! individual spectra; the map is used to determine the weighting
! surfaces.
! Expected input: the Analysis field, grbtxt format and the
! functions(frq,theta) of the update to be applied.
! UPD3
!$
!$ PRCNTG is input for option 1 and it is the percentage of correction
!$applied to all the gridpoints (e.g. 1.)
!$
!
! PRCNTG is input for option 1 and it is the percentage of correction
!applied to all the gridpoints (e.g. 1.)
!
! 0.475
!$
!$ PRCNTG_CAP is global input for option UPD2 and UPD3 and it is a cap on the
!$ maximun correction applied to all the gridpoints (e.g. 0.5)
!$
!
! PRCNTG_CAP is global input for option UPD2 and UPD3 and it is a cap on the
! maximun correction applied to all the gridpoints (e.g. 0.5)
!
! 0.6
!$
!$ Name of the file with the SWH analysis from the DA system $
!$ suffix .grbtxt for text out of grib2 file. $
!$
!
! Name of the file with the SWH analysis from the DA system $
! suffix .grbtxt for text out of grib2 file. $
!
! anl.grbtxt
!$
!$ -------------------------------------------------------------------- $
!$ WAVEWATCH III EoF ww3_uprstr.inp
!$ -------------------------------------------------------------------- $
!
! -------------------------------------------------------------------- $
! WAVEWATCH III EoF ww3_uprstr.inp
! -------------------------------------------------------------------- $
!
! ii. Data files anl.XXX
!
Expand Down