From a0356720c72d411a7c7edeb504e6a0818c88928c Mon Sep 17 00:00:00 2001 From: "ukmo-andrew.saulter" Date: Fri, 2 Oct 2020 14:06:27 +0100 Subject: [PATCH 1/3] Revised read/output of ww3_uprstr .inp variables Updated regtest ww3_ta1 ww3_uprstr.inp files Bugfix for UPD0F case Make ww3_uprstr write out .inp values Bugfix ww3_uprstr format statements Additional bugfix to ww3_uprstr write to output file Bugfix to UPD2/3_CAP regtest files --- model/ftn/ww3_uprstr.ftn | 56 ++++++++----- model/inp/ww3_uprstr.inp | 58 ++++++++----- regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.inp | 69 +++++---------- regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.inp | 69 +++++---------- regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.inp | 83 ++++++++----------- regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.inp | 83 ++++++++----------- .../ww3_ta1/input_UPD2_U_cap/ww3_uprstr.inp | 83 ++++++++----------- regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.inp | 83 ++++++++----------- regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.inp | 83 ++++++++----------- .../ww3_ta1/input_UPD3_U_cap/ww3_uprstr.inp | 83 ++++++++----------- regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.inp | 77 ++++++----------- regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.inp | 77 ++++++----------- .../ww3_ta1/input_UPD5_U_cap/ww3_uprstr.inp | 77 ++++++----------- regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.inp | 77 ++++++----------- regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.inp | 77 ++++++----------- .../ww3_ta1/input_UPD6_U_cap/ww3_uprstr.inp | 77 ++++++----------- 16 files changed, 478 insertions(+), 734 deletions(-) diff --git a/model/ftn/ww3_uprstr.ftn b/model/ftn/ww3_uprstr.ftn index 849a1b247..08ee4bdb5 100644 --- a/model/ftn/ww3_uprstr.ftn +++ b/model/ftn/ww3_uprstr.ftn @@ -394,7 +394,6 @@ ! WRITE (NDSO,900) ! -! !/WRST !Compiling with WRST will allow access to options UPD5/6 !/WRST WRSTON = .TRUE. !/WRST WRITE (NDSO,*) '*** UPRSTR will read wind from restart files' @@ -421,17 +420,21 @@ CALL NEXTLN ( COMSTR , NDSI , NDSEN ) READ (NDSI,*,END=2001,ERR=2002) UPDPROC CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) PRCNTG - CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP -!/F CALL NEXTLN ( COMSTR , NDSI , NDSEN ) -!/F READ (NDSI,*,END=2001,ERR=2002) FLNMCOR - CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) FLNMANL + IF (UPDPROC .EQ. 'UPD0F') THEN + READ (NDSI,*,END=2001,ERR=2002) PRCNTG + ELSE + IF ((UPDPROC .EQ. 'UPD2') .OR. (UPDPROC .EQ. 'UPD3')) THEN +! CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP +!/F CALL NEXTLN ( COMSTR , NDSI , NDSEN ) +!/F READ (NDSI,*,END=2001,ERR=2002) FLNMCOR + ELSE + READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP, THRWSEA + END IF + CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + READ (NDSI,*,END=2001,ERR=2002) FLNMANL + END IF !/T WRITE (NDSO,*)' TIME: ',TIME -!/T WRITE (NDSO,1004)' FLNMANL: ', trim(FLNMANL), & -!/T ' UPDPROC: ', trim(UPDPROC) -!/T WRITE (NDSO,*)' PRCNTG: ', PRCNTG !/ !/ ------------------------------------------------------------------- / ! 3. Read model definition file. @@ -453,7 +456,8 @@ 'file is not read' CALL EXTCDE ( 1 ) ELSE - WRITE (NDSO,1004) 'Updating Restart File' + WRITE (NDSO,1004) ' Updating Restart File' + WRITE (NDSO,*) ' TIME: ',TIME END IF END IF !/T WRITE (NDST,*), MYNAME,' : Exporting VA as imported to VA01.txt' @@ -469,6 +473,7 @@ !/ CASE ('UPD0F') WRITE (NDSO,902) 'UPD0F' + WRITE (NDSO,1005) ' PRCNTG = ',PRCNTG !/T ALLOCATE( VATMP (SIZE(VA ,1) )) !/T ALLOCATE( SWHANL (SIZE(MAPSTA,1), SIZE(MAPSTA,2))) !/T ALLOCATE( SWHBCKG(SIZE(MAPSTA,1), SIZE(MAPSTA,2))) @@ -500,6 +505,8 @@ !/ CASE ('UPD2') WRITE (NDSO,902) 'UPD2' + WRITE (NDSO,1005) ' PRCNTG_CAP = ',PRCNTG_CAP + WRITE (NDSO,1006) ' Reading updated SWH from: ',trim(FLNMANL) ! ! Array allocation ALLOCATE ( VATMP(SIZE(VA,1))) @@ -572,6 +579,8 @@ !/ CASE ('UPD3') WRITE (NDSO,902) 'UPD3' + WRITE (NDSO,1005) ' PRCNTG_CAP = ',PRCNTG_CAP + WRITE (NDSO,1006) ' Reading updated SWH from: ',trim(FLNMANL) ! ! Array allocation ALLOCATE ( VATMP(SIZE(VA,1))) @@ -667,9 +676,12 @@ !/ CASE ('UPD5') WRITE (NDSO,902) 'UPD5' + WRITE (NDSO,1005) ' PRCNTG_CAP = ',PRCNTG_CAP + WRITE (NDSO,1005) ' THRWSEA = ',THRWSEA + WRITE (NDSO,1006) ' Reading updated SWH from: ',trim(FLNMANL) ! Presently set hardwired THRWSEA energy threshold here ! not user defined in input file - THRWSEA = 0.7 + ! THRWSEA = 0.7 ! ! Array allocation ALLOCATE ( VATMP(SIZE(VA,1))) @@ -734,8 +746,8 @@ !/SMC IX = 1 !/SMC IY = ISEA !/SMC IF( SMCWND ) THEN -!/SMC IXW = IX -!/SMC IYW = IY +!/SMC IXW = IY +!/SMC IYW = IX !/SMC ELSE !/SMC IXW = MAPSF(ISEA,1) !/SMC IYW= MAPSF(ISEA,2) @@ -788,10 +800,13 @@ !/ CASE ('UPD6') WRITE (NDSO,902) 'UPD6' + WRITE (NDSO,1005) ' PRCNTG_CAP = ',PRCNTG_CAP + WRITE (NDSO,1005) ' THRWSEA = ',THRWSEA + WRITE (NDSO,1006) ' Reading updated SWH from: ',trim(FLNMANL) ! Presently set hardwired CORWSEA logical and THRWSEA energy ! thresholds here, not user defined in input file CORWSEA = .FALSE. - THRWSEA = 0.7 + !THRWSEA = 0.7 ! ! Array allocation ALLOCATE ( VATMP(SIZE(VA,1))) @@ -856,8 +871,8 @@ !/SMC IX = 1 !/SMC IY = ISEA !/SMC IF( SMCWND ) THEN -!/SMC IXW = IX -!/SMC IYW = IY +!/SMC IXW = IY +!/SMC IYW = IX !/SMC ELSE !/SMC IXW = MAPSF(ISEA,1) !/SMC IYW = MAPSF(ISEA,2) @@ -982,7 +997,7 @@ ! 999 FORMAT (/' End of program '/ & ' ========================================='/ & - ' WAVEWATCH III ww3_uprsrt '/) + ' WAVEWATCH III ww3_uprstr '/) ! 1000 FORMAT (/' *** WAVEWATCH III ERROR IN W3UPRSTR : '/ & ' ERROR IN OPENING INPUT FILE'/ & @@ -995,7 +1010,8 @@ ' ERROR IN READING FROM INPUT FILE'/ & ' IOSTAT =',I5/) 1004 FORMAT (/' '/,A/) -1005 FORMAT (/' '/,A, I5, I5/) +1005 FORMAT (' ',A, F6.3/) +1006 FORMAT (' ',A, A/) ! !/ CONTAINS diff --git a/model/inp/ww3_uprstr.inp b/model/inp/ww3_uprstr.inp index ad9012e5c..f0ee6faf9 100644 --- a/model/inp/ww3_uprstr.inp +++ b/model/inp/ww3_uprstr.inp @@ -12,14 +12,31 @@ $ $ $ $ $ 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 $ +$ the grid points using: $ +$ PRCNTG is input for option UPD0F and is the correction $ +$ factor applied to all the gridpoints (e.g. 1.) $ +$ $ $ 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. $ +$ -------------------------------------------------------------------- $ +$ UPD0F +$ 0.6754 +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ 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 $ @@ -36,6 +53,21 @@ $ 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. $ +$ -------------------------------------------------------------------- $ + UPD2 + 10.0 + anl.grbtxt +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ @@ -47,24 +79,10 @@ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ $ speed and direction $ - UPD3 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ $ - 10. -$ $ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ $ - anl.grbtxt +$ -------------------------------------------------------------------- $ +$ UPD6 +$ 10.0 0.7 +$ anl.grbtxt $ $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ diff --git a/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.inp index a348eb153..61ad1fefa 100644 --- a/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.inp @@ -1,57 +1,32 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 using: $ +$ PRCNTG is input for option UPD0F and is the correction $ +$ factor applied to all the gridpoints (e.g. 1.) $ +$ $ +$ 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 $ +$ -------------------------------------------------------------------- $ UPD0F -$ -$ PRCNTG is input for option 1 and it is the percentage of correction -$applied to all the gridpoints (e.g. 1.) -$ 0.6754 $ -$ 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. $ -$ - anl.grbtxt -$ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.inp index c16e94d74..8ffc31714 100644 --- a/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.inp @@ -1,57 +1,32 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 using: $ +$ PRCNTG is input for option UPD0F and is the correction $ +$ factor applied to all the gridpoints (e.g. 1.) $ +$ $ +$ 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 $ +$ -------------------------------------------------------------------- $ UPD0F -$ -$ PRCNTG is input for option 1 and it is the percentage of correction -$applied to all the gridpoints (e.g. 1.) -$ 4.6754 $ -$ 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. $ -$ - anl.grbtxt -$ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.inp index 904aa5052..6e06dea4b 100644 --- a/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.inp @@ -1,57 +1,46 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 $ +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ +$ 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 and cap $ +$ for the last gross check. $ +$ 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. $ +$ -------------------------------------------------------------------- $ UPD2 -$ -$ PRCNTG is input for option 1 and it is the percentage of correction -$applied to all the gridpoints (e.g. 1.) -$ - 0.6754 -$ -$ 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) -$ - 3 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 3.0 anl.grbtxt $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.inp index 5150e74bf..bffe7786a 100644 --- a/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.inp @@ -1,57 +1,46 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 $ +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ +$ 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 and cap $ +$ for the last gross check. $ +$ 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. $ +$ -------------------------------------------------------------------- $ UPD2 -$ -$ PRCNTG is input for option 1 and it is the percentage of correction -$applied to all the gridpoints (e.g. 1.) -$ - 0.6754 -$ -$ 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) -$ - 10 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 10.0 anl.grbtxt $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.inp index 6975b3943..1583b9d0d 100644 --- a/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.inp @@ -1,57 +1,46 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 $ +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ +$ 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 and cap $ +$ for the last gross check. $ +$ 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. $ +$ -------------------------------------------------------------------- $ UPD2 -$ -$ PRCNTG is input for option 1 and it is the percentage of correction -$applied to all the gridpoints (e.g. 1.) -$ - 0.6754 -$ -$ 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.333 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 1.333 anl.grbtxt $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.inp index 03930f941..40321fea0 100644 --- a/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.inp @@ -1,57 +1,46 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 $ +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ +$ 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 and cap $ +$ for the last gross check. $ +$ 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.) -$ - 0.6754 -$ -$ 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) -$ - 3 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 3.0 anl.grbtxt $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.inp index 9b403ab97..f967ad3b6 100644 --- a/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.inp @@ -1,57 +1,46 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 $ +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ +$ 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 and cap $ +$ for the last gross check. $ +$ 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.) -$ - 0.6754 -$ -$ 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) -$ - 10 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 10.0 anl.grbtxt $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.inp index 6b75a442e..47b31c47f 100644 --- a/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.inp @@ -1,57 +1,46 @@ $ -------------------------------------------------------------------- $ $ 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. +$ - 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 $ +$ $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>1 each gridpoint has its own update factor and uses: $ +$ PRCNTG_CAP - global input for option UPD2+ and is a cap on $ +$ the maximum SWH correction factor applied to all the $ +$ gridpoints, as both a multiple or divisor (e.g. cap at 5.0 $ +$ means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value $ +$ given should not be less than 1.0 $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ +$ 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 and cap $ +$ for the last gross check. $ +$ 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.) -$ - 0.6754 -$ -$ 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.333 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 1.333 anl.grbtxt $ $ -------------------------------------------------------------------- $ $ WAVEWATCH III EoF ww3_uprstr.inp $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.inp index cef44a1a0..86efe4a3f 100644 --- a/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.inp @@ -1,72 +1,43 @@ $ -------------------------------------------------------------------- $ $ 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 -$ +$ - 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 and cap $ -$ for the last gross check. $ -$ 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. $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ $ spectrum is corrected $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ $ UPD6 :: Option 6 Corrections are calculated as per UPD5 but $ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ +$ -------------------------------------------------------------------- $ UPD5 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ - 10.0 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 10.0 0.7 anl.grbtxt -$ +$ $ $ -------------------------------------------------------------------- $ -$ WAVEWATCH III EoF ww3_uprstr.inp +$ WAVEWATCH III EoF ww3_uprstr.inp $ $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.inp index cef44a1a0..86efe4a3f 100644 --- a/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.inp @@ -1,72 +1,43 @@ $ -------------------------------------------------------------------- $ $ 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 -$ +$ - 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 and cap $ -$ for the last gross check. $ -$ 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. $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ $ spectrum is corrected $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ $ UPD6 :: Option 6 Corrections are calculated as per UPD5 but $ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ +$ -------------------------------------------------------------------- $ UPD5 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ - 10.0 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 10.0 0.7 anl.grbtxt -$ +$ $ $ -------------------------------------------------------------------- $ -$ WAVEWATCH III EoF ww3_uprstr.inp +$ WAVEWATCH III EoF ww3_uprstr.inp $ $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.inp index 889a8fa09..742e1d538 100644 --- a/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.inp @@ -1,72 +1,43 @@ $ -------------------------------------------------------------------- $ $ 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 -$ +$ - 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 and cap $ -$ for the last gross check. $ -$ 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. $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ $ spectrum is corrected $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ $ UPD6 :: Option 6 Corrections are calculated as per UPD5 but $ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ +$ -------------------------------------------------------------------- $ UPD5 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ - 1.333 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 1.333 0.7 anl.grbtxt -$ +$ $ $ -------------------------------------------------------------------- $ -$ WAVEWATCH III EoF ww3_uprstr.inp +$ WAVEWATCH III EoF ww3_uprstr.inp $ $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.inp index ca8dc3fe7..118c94e88 100644 --- a/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.inp @@ -1,72 +1,43 @@ $ -------------------------------------------------------------------- $ $ 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 -$ +$ - 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 and cap $ -$ for the last gross check. $ -$ 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. $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ $ spectrum is corrected $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ $ UPD6 :: Option 6 Corrections are calculated as per UPD5 but $ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ +$ -------------------------------------------------------------------- $ UPD6 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ - 5.0 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 5.0 0.7 anl.grbtxt -$ +$ $ $ -------------------------------------------------------------------- $ -$ WAVEWATCH III EoF ww3_uprstr.inp +$ WAVEWATCH III EoF ww3_uprstr.inp $ $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.inp index 17f31c90f..c34b36051 100644 --- a/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.inp @@ -1,72 +1,43 @@ $ -------------------------------------------------------------------- $ $ 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 -$ +$ - 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 and cap $ -$ for the last gross check. $ -$ 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. $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ $ spectrum is corrected $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ $ UPD6 :: Option 6 Corrections are calculated as per UPD5 but $ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ +$ -------------------------------------------------------------------- $ UPD6 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ - 10.0 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 10.0 0.7 anl.grbtxt -$ +$ $ $ -------------------------------------------------------------------- $ -$ WAVEWATCH III EoF ww3_uprstr.inp +$ WAVEWATCH III EoF ww3_uprstr.inp $ $ -------------------------------------------------------------------- $ - diff --git a/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.inp b/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.inp index 518469343..bfc561b73 100644 --- a/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.inp +++ b/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.inp @@ -1,72 +1,43 @@ $ -------------------------------------------------------------------- $ $ 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 -$ +$ - 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 and cap $ -$ for the last gross check. $ -$ 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. $ +$ -------------------------------------------------------------------- $ +$ UPDN, with N>=5 each gridpoint has its own update factor and uses $ +$ wind field data to evaluate wind-sea and swell fields. Also $ +$ uses: $ +$ PRCNTG_CAP - see above $ +$ THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the $ +$ sea-state is considered wind-sea dominated by the DA scheme $ +$ Name of the file with the SWH analysis from the DA system $ +$ suffix .grbtxt for text out of grib2 file. $ +$ $ $ UPD5 :: Option 5 Corrections are calculated as per UPD2 but are $ $ applied to wind-sea parts of the spectrum only when $ $ wind-sea is the dominant component, otherwise the whole $ $ spectrum is corrected $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ $ UPD6 :: Option 6 Corrections are calculated as per UPD5 but $ $ wind-sea components are also shifted in frequency space $ $ using Toba (1973) $ $ Expected input: the Analysis Hs field plus background wind $ -$ speed and direction, in text format $ +$ speed and direction $ +$ -------------------------------------------------------------------- $ UPD6 -$ -$ PRCNTG is input for option UPD0F and is the correction factor $ -$ applied to all the gridpoints (e.g. 1.) $ -$ - 0.6754 -$ -$ PRCNTG_CAP is global input for option UPD2+ and is a cap on $ -$ the maximum SWH correction factor applied to all the gridpoints, as $ -$ both a multiple or divisor (e.g. cap at 5.0 means SWHANL/SWHBKG<=5.0 $ -$ and SWHANL/SWHBKG>=0.2). The value given should not be less than 1.0 $ -$ - 1.333 -$ -$ Name of the file with the SWH analysis from the DA system $ -$ suffix .grbtxt for text out of grib2 file. $ -$ + 1.333 0.7 anl.grbtxt -$ +$ $ $ -------------------------------------------------------------------- $ -$ WAVEWATCH III EoF ww3_uprstr.inp +$ WAVEWATCH III EoF ww3_uprstr.inp $ $ -------------------------------------------------------------------- $ - From 1b8196486282a670e02f351e39a5b06e7e56ac3c Mon Sep 17 00:00:00 2001 From: "ukmo-andrew.saulter" Date: Mon, 5 Oct 2020 17:36:07 +0100 Subject: [PATCH 2/3] Add namelist function to ww3_uprstr Bugfixes for nml in ww3_uprstr Bugfix w3nmluprstrmd.ftn Further bugfix for w3nmluprstrmd.ftn Another bugfix for ww3_uprstr Add missing ENDIF statement in ww3_uprstr.ftn Adding namelist option to selected ww3_ta1 regtests Updated comments for ww3_uprstr and nml program --- model/bin/make_makefile.sh | 3 +- model/ftn/w3nmluprstrmd.ftn | 529 ++++++++++++++++++ model/ftn/ww3_uprstr.ftn | 80 ++- model/nml/ww3_uprstr.nml | 113 ++++ regtests/bin/matrix.base | 10 +- regtests/bin/run_test | 12 +- regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.nml | 112 ++++ regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.nml | 112 ++++ regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.nml | 113 ++++ regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.nml | 113 ++++ .../ww3_ta1/input_UPD2_U_cap/ww3_uprstr.nml | 113 ++++ regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.nml | 113 ++++ regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.nml | 113 ++++ .../ww3_ta1/input_UPD3_U_cap/ww3_uprstr.nml | 113 ++++ regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.nml | 114 ++++ regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.nml | 114 ++++ .../ww3_ta1/input_UPD5_U_cap/ww3_uprstr.nml | 114 ++++ regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.nml | 114 ++++ regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.nml | 114 ++++ .../ww3_ta1/input_UPD6_U_cap/ww3_uprstr.nml | 114 ++++ 20 files changed, 2293 insertions(+), 40 deletions(-) create mode 100644 model/ftn/w3nmluprstrmd.ftn create mode 100644 model/nml/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.nml create mode 100644 regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.nml diff --git a/model/bin/make_makefile.sh b/model/bin/make_makefile.sh index 15545e493..6b93f072f 100755 --- a/model/bin/make_makefile.sh +++ b/model/bin/make_makefile.sh @@ -1099,7 +1099,7 @@ source="$memcode $pdlibcode $pdlibyow $flx $ln $st $nl $bt $ic $is $db $tr $bs $xx $uostmd" IO='w3iogrmd w3iogomd w3iorsmd' aux="constants w3servmd w3timemd w3arrymd w3dispmd w3gsrumd" - aux="$aux w3parall" ;; + aux="$aux w3parall w3nmluprstrmd" ;; esac # if esmf is included in program name, then @@ -1374,6 +1374,7 @@ 'W3NMLBOUNCMD' ) modtest=w3nmlbouncmd.o ;; 'W3NMLSHELMD' ) modtest=w3nmlshelmd.o ;; 'W3NMLGRIDMD' ) modtest=w3nmlgridmd.o ;; + 'W3NMLUPRSTRMD' ) modtest=w3nmluprstrmd.o ;; 'W3NETCDF' ) modtest=w3netcdf.o ;; 'YOWFUNCTION' ) modtest=yowfunction.o ;; 'YOWDATAPOOL' ) modtest=yowdatapool.o ;; diff --git a/model/ftn/w3nmluprstrmd.ftn b/model/ftn/w3nmluprstrmd.ftn new file mode 100644 index 000000000..aa98b144a --- /dev/null +++ b/model/ftn/w3nmluprstrmd.ftn @@ -0,0 +1,529 @@ +#include "w3macros.h" +!/ ------------------------------------------------------------------- / + MODULE W3NMLUPRSTRMD +!/ +!/ +-----------------------------------+ +!/ | WAVEWATCH III NOAA/NCEP | +!/ | M. Accensi | +!/ | | +!/ | FORTRAN 90 | +!/ | Last update : 06-Oct-2020 | +!/ +-----------------------------------+ +!/ +!/ For updates see subroutines. +!/ +! 1. Purpose : +! +! Manages namelists from configuration file ww3_uprstr.nml for ww3_uprstr program +! +!/ ------------------------------------------------------------------- / + + ! module defaults + IMPLICIT NONE + + PUBLIC + + ! restart time + TYPE NML_RESTART_T + CHARACTER(15) :: RESTARTTIME + END TYPE NML_RESTART_T + + ! update approach + TYPE NML_UPDATE_T + CHARACTER(5) :: UPDPROC + REAL :: PRCNTG + REAL :: PRCNTGCAP + REAL :: THRWSEA + CHARACTER(30) :: FILE + END TYPE NML_UPDATE_T + + ! miscellaneous + CHARACTER(256) :: MSG + INTEGER :: NDSN + + + + + CONTAINS +!/ ------------------------------------------------------------------- / + SUBROUTINE W3NMLUPRSTR (NDSI, INFILE, NML_RESTART, NML_UPDATE, IERR) +!/ +!/ +-----------------------------------+ +!/ | WAVEWATCH III NOAA/NCEP | +!/ | M. Accensi | +!/ | | +!/ | FORTRAN 90 | +!/ | Last update : 06-Oct-2020 | +!/ +-----------------------------------+ +!/ +! +! 1. Purpose : +! +! Reads all the namelist to define the output field +! +! 2. Method : +! +! See source term routines. +! +! 3. Parameters : +! +! Parameter list +! ---------------------------------------------------------------- +! NDSI Int. +! INFILE Char. +! NML_RESTART type. +! NML_UPDATE type. +! IERR Int. +! ---------------------------------------------------------------- +! +! 4. Subroutines used : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! STRACE Subr. W3SERVMD SUBROUTINE tracing. +! READ_RESTART_NML +! READ_UPDATE_NML +! ---------------------------------------------------------------- +! +! 5. Called by : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! WW3_UPRSTR Prog. N/A Update restart file +! ---------------------------------------------------------------- +! +! 6. Error messages : +! +! None. +! +! 7. Remarks : +! +! 8. Structure : +! +! See source code. +! +! 9. Switches : +! +! 10. Source code : +! +!/ ------------------------------------------------------------------- / + + USE W3ODATMD, ONLY: NDSE +!/S USE W3SERVMD, ONLY: STRACE + + IMPLICIT NONE + + INTEGER, INTENT(IN) :: NDSI + CHARACTER*(*), INTENT(IN) :: INFILE + TYPE(NML_RESTART_T), INTENT(INOUT) :: NML_RESTART + TYPE(NML_UPDATE_T), INTENT(INOUT) :: NML_UPDATE + INTEGER, INTENT(OUT) :: IERR +!/S INTEGER, SAVE :: IENT = 0 + + IERR = 0 +!/S CALL STRACE (IENT, 'W3NMLUPRSTR') + + ! open namelist log file + NDSN = 3 + OPEN (NDSN, file=TRIM(INFILE)//'.log', form='formatted', iostat=IERR) + IF (IERR.NE.0) THEN + WRITE (NDSE,'(A)') 'ERROR: open full nml file '//TRIM(INFILE)//'.log failed' + RETURN + END IF + + ! open input file + OPEN (NDSI, file=TRIM(INFILE), form='formatted', status='old', iostat=IERR) + IF (IERR.NE.0) THEN + WRITE (NDSE,'(A)') 'ERROR: open input file '//TRIM(INFILE)//' failed' + RETURN + END IF + + ! read restart time namelist + CALL READ_RESTART_NML (NDSI, NML_RESTART) + CALL REPORT_RESTART_NML (NML_RESTART) + + ! read update approach namelist + CALL READ_UPDATE_NML (NDSI, NML_UPDATE) + CALL REPORT_UPDATE_NML (NML_UPDATE) + + ! close namelist files + CLOSE (NDSI) + CLOSE (NDSN) + + END SUBROUTINE W3NMLUPRSTR + + +!/ ------------------------------------------------------------------- / + + + +!/ ------------------------------------------------------------------- / + + SUBROUTINE READ_RESTART_NML (NDSI, NML_RESTART) +!/ +!/ +-----------------------------------+ +!/ | WAVEWATCH III NOAA/NCEP | +!/ | M. Accensi | +!/ | | +!/ | FORTRAN 90 | +!/ | Last update : 06-Oct-2020 | +!/ +-----------------------------------+ +!/ +! 1. Purpose : +! +! +! 2. Method : +! +! See source term routines. +! +! 3. Parameters : +! +! Parameter list +! ---------------------------------------------------------------- +! NDSI Int. +! NML_RESTART Type. +! ---------------------------------------------------------------- +! +! 4. Subroutines used : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! STRACE Subr. W3SERVMD SUBROUTINE tracing. +! ---------------------------------------------------------------- +! +! 5. Called by : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! W3NMLUPRSTR Subr. N/A Namelist configuration routine. +! ---------------------------------------------------------------- +! +! 6. Error messages : +! +! None. +! +! 7. Remarks : +! +! 8. Structure : +! +! See source code. +! +! 9. Switches : +! +! 10. Source code : +! +!/ ------------------------------------------------------------------- / + + USE W3ODATMD, ONLY: NDSE + USE W3SERVMD, ONLY: EXTCDE +!/S USE W3SERVMD, ONLY: STRACE + + IMPLICIT NONE + + INTEGER, INTENT(IN) :: NDSI + TYPE(NML_RESTART_T), INTENT(INOUT) :: NML_RESTART + + ! locals + INTEGER :: IERR + TYPE(NML_RESTART_T) :: RESTART + NAMELIST /RESTART_NML/ RESTART +!/S INTEGER, SAVE :: IENT = 0 + + IERR = 0 +!/S CALL STRACE (IENT, 'READ_RESTART_NML') + + ! set default values + RESTART%RESTARTTIME = '19680607 120000' + + ! read restart namelist + REWIND (NDSI) + READ (NDSI, nml=RESTART_NML, iostat=IERR, iomsg=MSG) + IF (IERR.NE.0) THEN + WRITE (NDSE,'(A,/A)') & + 'ERROR: READ_RESTART_NML: namelist read error', & + 'ERROR: '//TRIM(MSG) + CALL EXTCDE (1) + END IF + + ! save namelist + NML_RESTART = RESTART + + END SUBROUTINE READ_RESTART_NML + +!/ ------------------------------------------------------------------- / + + + +!/ ------------------------------------------------------------------- / + + SUBROUTINE READ_UPDATE_NML (NDSI, NML_UPDATE) +!/ +!/ +-----------------------------------+ +!/ | WAVEWATCH III NOAA/NCEP | +!/ | M. Accensi | +!/ | | +!/ | FORTRAN 90 | +!/ | Last update : 06-Oct-2020 | +!/ +-----------------------------------+ +!/ +! 1. Purpose : +! +! +! 2. Method : +! +! See source term routines. +! +! 3. Parameters : +! +! Parameter list +! ---------------------------------------------------------------- +! NDSI Int. +! NML_UPDATE Type. +! ---------------------------------------------------------------- +! +! 4. Subroutines used : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! STRACE Subr. W3SERVMD SUBROUTINE tracing. +! ---------------------------------------------------------------- +! +! 5. Called by : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! W3NMLUPRSTR Subr. N/A Namelist configuration routine. +! ---------------------------------------------------------------- +! +! 6. Error messages : +! +! None. +! +! 7. Remarks : +! +! 8. Structure : +! +! See source code. +! +! 9. Switches : +! +! 10. Source code : +! +!/ ------------------------------------------------------------------- / + + USE W3ODATMD, ONLY: NDSE + USE W3SERVMD, ONLY: EXTCDE +!/S USE W3SERVMD, ONLY: STRACE + + IMPLICIT NONE + + INTEGER, INTENT(IN) :: NDSI + TYPE(NML_UPDATE_T), INTENT(INOUT) :: NML_UPDATE + + ! locals + INTEGER :: IERR + TYPE(NML_UPDATE_T) :: UPDATE + NAMELIST /UPDATE_NML/ UPDATE +!/S INTEGER, SAVE :: IENT = 0 + + IERR = 0 +!/S CALL STRACE (IENT, 'READ_UPDATE_NML') + + ! set default values for update approach + ! as set, these would run the update but not correct + ! any spectra (scalar correction by factor of 1.0) + UPDATE%UPDPROC = 'UPD0F' ! Update type + UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) + UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor + UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance + UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file + + ! read file namelist + REWIND (NDSI) + READ (NDSI, nml=UPDATE_NML, iostat=IERR, iomsg=MSG) + IF (IERR.GT.0) THEN + WRITE (NDSE,'(A,/A)') & + 'ERROR: READ_UPDATE_NML: namelist read error', & + 'ERROR: '//TRIM(MSG) + CALL EXTCDE (2) + END IF + + ! save namelist + NML_UPDATE = UPDATE + + END SUBROUTINE READ_UPDATE_NML + +!/ ------------------------------------------------------------------- / + + + +!/ ------------------------------------------------------------------- / + + SUBROUTINE REPORT_RESTART_NML (NML_RESTART) +!/ +!/ +-----------------------------------+ +!/ | WAVEWATCH III NOAA/NCEP | +!/ | M. Accensi | +!/ | FORTRAN 90 | +!/ | Last update : 06-Oct-2020 | +!/ +-----------------------------------+ +!/ +!/ +! 1. Purpose : +! +! +! 2. Method : +! +! See source term routines. +! +! 3. Parameters : +! +! Parameter list +! ---------------------------------------------------------------- +! NML_RESTART Type. +! ---------------------------------------------------------------- +! +! 4. Subroutines used : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! STRACE Subr. W3SERVMD SUBROUTINE tracing. +! ---------------------------------------------------------------- +! +! 5. Called by : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! W3NMLUPRSTR Subr. N/A Namelist configuration routine. +! ---------------------------------------------------------------- +! +! 6. Error messages : +! +! None. +! +! 7. Remarks : +! +! 8. Structure : +! +! See source code. +! +! 9. Switches : +! +! 10. Source code : +! +!/ ------------------------------------------------------------------- / + +!/S USE W3SERVMD, ONLY: STRACE + + IMPLICIT NONE + + TYPE(NML_RESTART_T), INTENT(IN) :: NML_RESTART +!/S INTEGER, SAVE :: IENT = 0 + +!/S CALL STRACE (IENT, 'REPORT_RESTART_NML') + + WRITE (MSG,'(A)') 'RESTART % ' + WRITE (NDSN,'(A)') + WRITE (NDSN,10) TRIM(MSG),'RESTARTTIME = ', TRIM(NML_RESTART%RESTARTTIME) + +10 FORMAT (A,2X,A,A) + + END SUBROUTINE REPORT_RESTART_NML + +!/ ------------------------------------------------------------------- / + + + +!/ ------------------------------------------------------------------- / + + SUBROUTINE REPORT_UPDATE_NML (NML_UPDATE) +!/ +!/ +-----------------------------------+ +!/ | WAVEWATCH III NOAA/NCEP | +!/ | M. Accensi | +!/ | FORTRAN 90 | +!/ | Last update : 06-Oct-2020 | +!/ +-----------------------------------+ +!/ +!/ +! 1. Purpose : +! +! +! 2. Method : +! +! See source term routines. +! +! 3. Parameters : +! +! Parameter list +! ---------------------------------------------------------------- +! NML_UPDATE Type. +! ---------------------------------------------------------------- +! +! 4. Subroutines used : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! STRACE Subr. W3SERVMD SUBROUTINE tracing. +! ---------------------------------------------------------------- +! +! 5. Called by : +! +! Name TYPE Module Description +! ---------------------------------------------------------------- +! W3NMLUPRSTR Subr. N/A Namelist configuration routine. +! ---------------------------------------------------------------- +! +! 6. Error messages : +! +! None. +! +! 7. Remarks : +! +! 8. Structure : +! +! See source code. +! +! 9. Switches : +! +! 10. Source code : +! +!/ ------------------------------------------------------------------- / + +!/S USE W3SERVMD, ONLY: STRACE + + IMPLICIT NONE + + TYPE(NML_UPDATE_T), INTENT(IN) :: NML_UPDATE +!/S INTEGER, SAVE :: IENT = 0 + +!/S CALL STRACE (IENT, 'REPORT_UPDATE_NML') + + WRITE (MSG,'(A)') 'UPDATE % ' + WRITE (NDSN,'(A)') + WRITE (NDSN,10) TRIM(MSG),'UPDPROC = ', TRIM(NML_UPDATE%UPDPROC) + ! PRCNTG only used by UPD0F + IF (TRIM(NML_UPDATE%UPDPROC) .EQ. 'UPD0F') THEN + WRITE (NDSN,11) TRIM(MSG),'PRCNTG = ', NML_UPDATE%PRCNTG + ELSE + WRITE (NDSN,11) TRIM(MSG),'PRCNTGCAP = ', NML_UPDATE%PRCNTGCAP + ! THRWSEA only used by UPD5/6 + IF ((TRIM(NML_UPDATE%UPDPROC) .EQ. 'UPD5') .OR. & + (TRIM(NML_UPDATE%UPDPROC) .EQ. 'UPD6')) THEN + WRITE (NDSN,11) TRIM(MSG),'THRWSEA = ', NML_UPDATE%THRWSEA + ENDIF + WRITE (NDSN,10) TRIM(MSG),'FILE = ', TRIM(NML_UPDATE%FILE) + ENDIF + +10 FORMAT (A,2X,A,A) +11 FORMAT (A,2X,A,F5.3) + + END SUBROUTINE REPORT_UPDATE_NML + +!/ ------------------------------------------------------------------- / + + + +END MODULE W3NMLUPRSTRMD + +!/ ------------------------------------------------------------------- / diff --git a/model/ftn/ww3_uprstr.ftn b/model/ftn/ww3_uprstr.ftn index 08ee4bdb5..7ea37fd87 100644 --- a/model/ftn/ww3_uprstr.ftn +++ b/model/ftn/ww3_uprstr.ftn @@ -25,6 +25,7 @@ !/ with SMC grids (Andy Saulter) ( version 6.07 ) !/ 01-Nov-2019 : UPD5 and UPD6 use wind data either from anl.XXX file !/ or from restart under WRST switch (Andy Saulter) +!/ 06-Oct-2020 : Added namelist input options ( version 7.11 ) !/ !/ Copyright 2010 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -324,6 +325,8 @@ USE W3ODATMD, ONLY: IAPROC, NAPERR, NAPLOG, NDS, NAPOUT USE W3ODATMD, ONLY: NDSE, NDSO, NDST, IDOUT, FNMPRE !/WRST USE W3IDATMD +! + USE W3NMLUPRSTRMD ! IMPLICIT NONE !/ @@ -332,10 +335,13 @@ !/ INTEGER :: NDSI, NDSM, NDSTRC, NTRACE, IERR, I, J CHARACTER :: COMSTR*1 +! + TYPE(NML_RESTART_T) :: NML_RESTART + TYPE(NML_UPDATE_T) :: NML_UPDATE ! ! REAL, ALLOCATABLE :: BETAW(:) ! LOGICAL, ALLOCATABLE :: MASK(:) - LOGICAL :: anl_exists, CORWSEA + LOGICAL :: anl_exists, CORWSEA, FLGNML INTEGER :: IMOD, NDSEN, IX, IY, IK, ITH, & IXW, IYW REAL, ALLOCATABLE :: UPDPRCNT(:,:),VATMP(:), HSIG(:,:), & @@ -406,34 +412,52 @@ !/SMC WRITE (NDSO,*) '*** UPRSTR set to work with SMC grid model' !/ !/ ------------------------------------------------------------------- / -! 2. Read the ww3_uprstr.inp -!/ - J = LEN_TRIM(FNMPRE) - OPEN (NDSI,FILE=FNMPRE(:J)//'ww3_uprstr.inp',STATUS='OLD', & - ERR=800,IOSTAT=IERR) - READ (NDSI,'(A)',END=801,ERR=802) COMSTR - IF (COMSTR.EQ.' ') COMSTR = '$' - WRITE (NDSO,901) COMSTR -! - CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) TIME - CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) UPDPROC - CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - IF (UPDPROC .EQ. 'UPD0F') THEN - READ (NDSI,*,END=2001,ERR=2002) PRCNTG - ELSE - IF ((UPDPROC .EQ. 'UPD2') .OR. (UPDPROC .EQ. 'UPD3')) THEN -! CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP -!/F CALL NEXTLN ( COMSTR , NDSI , NDSEN ) -!/F READ (NDSI,*,END=2001,ERR=2002) FLNMCOR - ELSE - READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP, THRWSEA - END IF - CALL NEXTLN ( COMSTR , NDSI , NDSEN ) - READ (NDSI,*,END=2001,ERR=2002) FLNMANL +! 2. Read the ww3_uprstr input data +! +! process ww3_uprstr namelist +! + INQUIRE(FILE=TRIM(FNMPRE)//"ww3_uprstr.nml", EXIST=FLGNML) + IF (FLGNML) THEN + ! Read namelist + CALL W3NMLUPRSTR (NDSI, TRIM(FNMPRE)//'ww3_uprstr.nml', NML_RESTART, & + NML_UPDATE, IERR) + READ(NML_RESTART%RESTARTTIME, *) TIME + UPDPROC = NML_UPDATE%UPDPROC + PRCNTG = NML_UPDATE%PRCNTG + PRCNTG_CAP = NML_UPDATE%PRCNTGCAP + THRWSEA = NML_UPDATE%THRWSEA + FLNMANL = NML_UPDATE%FILE END IF +!/ +! otherwise read from the .inp file + IF (.NOT. FLGNML) THEN + J = LEN_TRIM(FNMPRE) + OPEN (NDSI,FILE=FNMPRE(:J)//'ww3_uprstr.inp',STATUS='OLD', & + ERR=800,IOSTAT=IERR) + READ (NDSI,'(A)',END=801,ERR=802) COMSTR + IF (COMSTR.EQ.' ') COMSTR = '$' + WRITE (NDSO,901) COMSTR +! + CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + READ (NDSI,*,END=2001,ERR=2002) TIME + CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + READ (NDSI,*,END=2001,ERR=2002) UPDPROC + CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + IF (UPDPROC .EQ. 'UPD0F') THEN + READ (NDSI,*,END=2001,ERR=2002) PRCNTG + ELSE + IF ((UPDPROC .EQ. 'UPD2') .OR. (UPDPROC .EQ. 'UPD3')) THEN +! CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP +!/F CALL NEXTLN ( COMSTR , NDSI , NDSEN ) +!/F READ (NDSI,*,END=2001,ERR=2002) FLNMCOR + ELSE + READ (NDSI,*,END=2001,ERR=2002) PRCNTG_CAP, THRWSEA + END IF + CALL NEXTLN ( COMSTR , NDSI , NDSEN ) + READ (NDSI,*,END=2001,ERR=2002) FLNMANL + END IF + ENDIF !/T WRITE (NDSO,*)' TIME: ',TIME !/ !/ ------------------------------------------------------------------- / diff --git a/model/nml/ww3_uprstr.nml b/model/nml/ww3_uprstr.nml new file mode 100644 index 000000000..947e024b8 --- /dev/null +++ b/model/nml/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD2' + UPDATE%PRCNTGCAP = 10.0 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/bin/matrix.base b/regtests/bin/matrix.base index 133165df7..d9d2c055d 100755 --- a/regtests/bin/matrix.base +++ b/regtests/bin/matrix.base @@ -2010,18 +2010,18 @@ if [ "$assim" = 'y' ] then echo ' ' >> matrix.body - echo "$rtst -s ST4 -w work_UPD0F_O -i input_UPD0F_O $ww3 ww3_ta1" >> matrix.body + echo "$rtst -s ST4 -N -w work_UPD0F_O -i input_UPD0F_O $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD0F_U -i input_UPD0F_U $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD2_O -i input_UPD2_O $ww3 ww3_ta1" >> matrix.body - echo "$rtst -s ST4 -w work_UPD2_U -i input_UPD2_U $ww3 ww3_ta1" >> matrix.body + echo "$rtst -s ST4 -N -w work_UPD2_U -i input_UPD2_U $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD2_U_cap -i input_UPD2_U_cap $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD3_O -i input_UPD3_O $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD3_U -i input_UPD3_U $ww3 ww3_ta1" >> matrix.body - echo "$rtst -s ST4 -w work_UPD3_U_cap -i input_UPD3_U_cap $ww3 ww3_ta1" >> matrix.body + echo "$rtst -s ST4 -N -w work_UPD3_U_cap -i input_UPD3_U_cap $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD5_O -i input_UPD5_O $ww3 ww3_ta1" >> matrix.body - echo "$rtst -s ST4 -w work_UPD5_U -i input_UPD5_U $ww3 ww3_ta1" >> matrix.body + echo "$rtst -s ST4 -N -w work_UPD5_U -i input_UPD5_U $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD5_U_cap -i input_UPD5_U_cap $ww3 ww3_ta1" >> matrix.body - echo "$rtst -s ST4 -w work_UPD6_O -i input_UPD6_O $ww3 ww3_ta1" >> matrix.body + echo "$rtst -s ST4 -N -w work_UPD6_O -i input_UPD6_O $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD6_U -i input_UPD6_U $ww3 ww3_ta1" >> matrix.body echo "$rtst -s ST4 -w work_UPD6_U_cap -i input_UPD6_U_cap $ww3 ww3_ta1" >> matrix.body fi diff --git a/regtests/bin/run_test b/regtests/bin/run_test index cdc02dfb0..0ff6b5495 100755 --- a/regtests/bin/run_test +++ b/regtests/bin/run_test @@ -2547,12 +2547,12 @@ then # Check for input file # select inp/nml files -#if [ $nml_input ] && [ ! -z "`ls ${path_i}/${prog}.nml 2>/dev/null`" ] -#then -# ifile="`ls ${path_i}/${prog}.nml 2>/dev/null`" -#else - ifile="`ls $path_i/$prog.inp 2>/dev/null`" -#fi + if [ $nml_input ] && [ ! -z "`ls ${path_i}/${prog}.nml 2>/dev/null`" ] + then + ifile="`ls ${path_i}/${prog}.nml 2>/dev/null`" + else + ifile="`ls $path_i/$prog.inp 2>/dev/null`" + fi if [ $? = 0 ] then diff --git a/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.nml new file mode 100644 index 000000000..b1fbb0f8b --- /dev/null +++ b/regtests/ww3_ta1/input_UPD0F_O/ww3_uprstr.nml @@ -0,0 +1,112 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD0F' + UPDATE%PRCNTG = 0.6754 +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.nml new file mode 100644 index 000000000..9a0529b27 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD0F_U/ww3_uprstr.nml @@ -0,0 +1,112 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD0F' + UPDATE%PRCNTG = 4.6754 +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.nml new file mode 100644 index 000000000..023b5f4ac --- /dev/null +++ b/regtests/ww3_ta1/input_UPD2_O/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD2' + UPDATE%PRCNTGCAP = 3.0 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.nml new file mode 100644 index 000000000..947e024b8 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD2_U/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD2' + UPDATE%PRCNTGCAP = 10.0 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.nml new file mode 100644 index 000000000..e28b96210 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD2_U_cap/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD2' + UPDATE%PRCNTGCAP = 1.333 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.nml new file mode 100644 index 000000000..b1e82c898 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD3_O/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD3' + UPDATE%PRCNTGCAP = 3.0 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.nml new file mode 100644 index 000000000..a111e1c79 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD3_U/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD3' + UPDATE%PRCNTGCAP = 10.0 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.nml new file mode 100644 index 000000000..ef20c9001 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD3_U_cap/ww3_uprstr.nml @@ -0,0 +1,113 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD3' + UPDATE%PRCNTGCAP = 1.333 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.nml new file mode 100644 index 000000000..c5d576df0 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD5_O/ww3_uprstr.nml @@ -0,0 +1,114 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD5' + UPDATE%PRCNTGCAP = 10.0 + UPDATE%THRWSEA = 0.7 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.nml new file mode 100644 index 000000000..d3e4f5c01 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD5_U/ww3_uprstr.nml @@ -0,0 +1,114 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant varaibles should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD5' + UPDATE%PRCNTGCAP = 10.0 + UPDATE%THRWSEA = 0.7 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.nml new file mode 100644 index 000000000..168d38ff7 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD5_U_cap/ww3_uprstr.nml @@ -0,0 +1,114 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD5' + UPDATE%PRCNTGCAP = 1.333 + UPDATE%THRWSEA = 0.7 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.nml new file mode 100644 index 000000000..9557a374f --- /dev/null +++ b/regtests/ww3_ta1/input_UPD6_O/ww3_uprstr.nml @@ -0,0 +1,114 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD6' + UPDATE%PRCNTGCAP = 5.0 + UPDATE%THRWSEA = 0.7 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.nml new file mode 100644 index 000000000..44a656519 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD6_U/ww3_uprstr.nml @@ -0,0 +1,114 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant variables should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD6' + UPDATE%PRCNTGCAP = 10.0 + UPDATE%THRWSEA = 0.7 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + diff --git a/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.nml b/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.nml new file mode 100644 index 000000000..8767412a5 --- /dev/null +++ b/regtests/ww3_ta1/input_UPD6_U_cap/ww3_uprstr.nml @@ -0,0 +1,114 @@ +! -------------------------------------------------------------------- ! +! WAVEWATCH III - ww3_uprstr.nml - Grid output post-processing ! +! -------------------------------------------------------------------- ! + + +! -------------------------------------------------------------------- ! +! Define the assimilation time for initialising the wave model. This +! has to be the same as the time of the restart.ww3 +! +! * namelist must be terminated with / +! * definitions & defaults: +! RESTART%RESTARTTIME = '19680607 120000' ! assimilation time +! -------------------------------------------------------------------- ! +&RESTART_NML + RESTART%RESTARTTIME = '19680607 120000' +/ + + +! -------------------------------------------------------------------- ! +! Define the update approach and associated variables +! Note: Only the relevant variables for each update type need to be +! set. Setting non-relevant varaibles should not affect the way the +! code works +! +! A number of different update approaches are available. UPDN is used +! for the Nth approach +! +! The UPDN*, with N<2 the same correction factor is applied at all +! the grid points using: +! PRCNTG is input for option UPD0F and is the correction +! factor applied to all the gridpoints (e.g. 1.) +! 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 and uses: +! PRCNTG_CAP - global input for option UPD2+ and is a cap on +! the maximum SWH correction factor applied to all the +! gridpoints, as both a multiple or divisor (e.g. cap at 5.0 +! means SWHANL/SWHBKG<=5.0 and SWHANL/SWHBKG>=0.2). The value +! given should not be less than 1.0 +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! 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 and cap +! for the last gross check. +! 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. +! +! UPDN, with N>=5 each gridpoint has its own update factor and uses +! wind field data to evaluate wind-sea and swell fields. Also +! uses: +! PRCNTG_CAP - see above +! THRWSEA - energy threshold (SWH_WS**2/SWH**2) above which the +! sea-state is considered wind-sea dominated by the DA scheme +! Name of the file with the SWH analysis from the DA system +! suffix .grbtxt for text out of grib2 file. +! UPD5 :: Option 5 Corrections are calculated as per UPD2 but are +! applied to wind-sea parts of the spectrum only when +! wind-sea is the dominant component, otherwise the whole +! spectrum is corrected +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! UPD6 :: Option 6 Corrections are calculated as per UPD5 but +! wind-sea components are also shifted in frequency space +! using Toba (1973) +! Expected input: the Analysis Hs field plus background wind +! speed and direction +! +! * namelist must be terminated with / +! * definitions & defaults: +! +! UPD0F +! UPDATE%UPDPROC = 'UPD0F' ! Update type +! UPDATE%PRCNTG = 1.0 ! Scalar correction factor (1.0=no correction) +! +! UPD2/3 +! UPDATE%UPDPROC = 'UPD2' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! +! UPD5/6 +! UPDATE%UPDPROC = 'UPD5' ! Update type +! UPDATE%PRCNTGCAP = 10.0 ! Cap on correction factor +! UPDATE%THRWSEA = 0.7 ! Energy threshold for wind-sea dominance +! UPDATE%FILE = 'anl.grbtxt' ! Corrected analysed SWH field file +! + +! -------------------------------------------------------------------- ! +&UPDATE_NML + UPDATE%UPDPROC = 'UPD6' + UPDATE%PRCNTGCAP = 1.333 + UPDATE%THRWSEA = 0.7 + UPDATE%FILE = 'anl.grbtxt' +/ + + +! -------------------------------------------------------------------- ! +! WAVEWATCH III - end of namelist ! +! -------------------------------------------------------------------- ! + From b367359da3d8160a5f6f8821f5fd547b9e868d8c Mon Sep 17 00:00:00 2001 From: "ukmo-andrew.saulter" Date: Wed, 7 Oct 2020 09:56:12 +0100 Subject: [PATCH 3/3] Updates to ww3_uprstr following PR review --- model/ftn/w3nmluprstrmd.ftn | 2 +- model/ftn/ww3_uprstr.ftn | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/model/ftn/w3nmluprstrmd.ftn b/model/ftn/w3nmluprstrmd.ftn index aa98b144a..1c6cd9949 100644 --- a/model/ftn/w3nmluprstrmd.ftn +++ b/model/ftn/w3nmluprstrmd.ftn @@ -126,7 +126,7 @@ ! open namelist log file NDSN = 3 OPEN (NDSN, file=TRIM(INFILE)//'.log', form='formatted', iostat=IERR) - IF (IERR.NE.0) THEN + IF (IERR.NE.0) THEN WRITE (NDSE,'(A)') 'ERROR: open full nml file '//TRIM(INFILE)//'.log failed' RETURN END IF diff --git a/model/ftn/ww3_uprstr.ftn b/model/ftn/ww3_uprstr.ftn index 7ea37fd87..986e97681 100644 --- a/model/ftn/ww3_uprstr.ftn +++ b/model/ftn/ww3_uprstr.ftn @@ -770,6 +770,9 @@ !/SMC IX = 1 !/SMC IY = ISEA !/SMC IF( SMCWND ) THEN +!/SMC ! Wind arrays allocated using (X,Y) convention for regular grids +!/SMC ! but overriding here for the SMC grid which are always defined +!/SMC ! as (NSEA,1) by switching the IY and IX dimension values around !/SMC IXW = IY !/SMC IYW = IX !/SMC ELSE @@ -895,6 +898,9 @@ !/SMC IX = 1 !/SMC IY = ISEA !/SMC IF( SMCWND ) THEN +!/SMC ! Wind arrays allocated using (X,Y) convention for regular grids +!/SMC ! but overriding here for the SMC grid which are always defined +!/SMC ! as (NSEA,1) by switching the IY and IX dimension values around !/SMC IXW = IY !/SMC IYW = IX !/SMC ELSE @@ -1149,6 +1155,11 @@ CHARACTER(12), PARAMETER :: MYNAME='CHECK_PRCNTG' !/T !/T WRITE (NDSO,*) trim(MYNAME)," The original correction is ",PRCNTG +!/T WRITE (NDSO,*) trim(MYNAME)," The cap is ",PRCNTG_CAP + IF ( PRCNTG_CAP < 1. ) THEN + WRITE (NDSO,*) trim(MYNAME)," WARNING: PRCNTG_CAP set < 1." + WRITE (NDSO,*) trim(MYNAME)," This may introduce spurious corrections" + END IF !/T WRITE (NDSO,*) trim(MYNAME)," The cap is ",PRCNTG_CAP IF ( PRCNTG > 1. ) THEN !/T WRITE (NDSO,*) trim(MYNAME)," PRCNTG > 1."