Code Monkey home page Code Monkey logo

ww3's Introduction

The WAVEWATCH III Framework

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

General Features

WAVEWATCH III® solves the random phase spectral action density balance equation for wavenumber-direction spectra. The model includes options for shallow-water (surf zone) applications, as well as wetting and drying of grid points. Propagation of a wave spectrum can be solved using regular (rectilinear or curvilinear) and unstructured (triangular) grids. See About WW3 for a detailed description of WAVEWATCH III® .

Installation

The WAVEWATCH III® framework package has two parts that need to be combined so all runs smoothly: the GitHub repo itself, and a binary data file bundle that needs to be obtained from our ftp site. Steps to successfully acquire and install the framework are outlined in our Quick Start guide.

Disclaimer

The United States Department of Commerce (DOC) GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. DOC has relinquished control of the information and no longer has responsibility to protect the integrity, confidentiality, or availability of the information. Any claims against the Department of Commerce stemming from the use of its GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.

ww3's People

Contributors

ajhenrique avatar aliabdolali avatar ardhuin avatar aronroland avatar arunchawla-noaa avatar awest-noaa avatar benoitp-cmc avatar deniseworthen avatar edwardhartnett avatar erickrogers avatar jessicameixner-noaa avatar junwang-noaa avatar kgerheiser avatar mark-a-potts avatar mathieudutsik avatar matthewmasarik-noaa avatar mickaelaccensi avatar minsukji-noaa avatar qingxiangliu avatar robertopadilla-noaa avatar sanderhulst avatar sbrus89 avatar thesser1 avatar theurich avatar tjcnrl avatar ukmo-ccbunney avatar ukmo-juan-castillo avatar ukmo-lsampson avatar ukmo-nievesvaliente avatar uturuncoglu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ww3's Issues

bugfix for netcdf file id allocation

defined an allocatable ncid array instead of fixed length array to avoid ww3_ounf to crash when opening a new netcdf with a out of range ncid value

NL5: the generalized kinetic equation for Snl

A module based on the generalized kinetic equation (Gramstad and Stiassnie 2013), which takes into accout both resonant and quasi-resonant four wave interactions, will be implemented as NL5 in WW3. The modified kinetic equation by Janssen (2003) will also be included in the NL5 framework.

Netcdf gridded output to file with fixed name

NCEP operations require that ounf output to a fixed-name file. Currently a quick-fix is used in ww3_ounf.ftn:

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

This issue is a request for a feature to allow users choosing that in ounf.inp.

Triads

Triads do not alter the results in the right direction and magnitude (2019). Looking into things I did some rewrite and found that the explicit part of the source term was off by a factor of 2. Moreover, reallocation would cause issues and run-time penalty. I rewrote following the WWM implementation

regtest ww3_tp2.10 instability

The Lake Erie SMC propgagtion only regtest (ww3_tp2.10) is going unstable (at least on our Cray system). Output fields after the initial timestep are full of "NaN", "Inf" or unrealistically large values. This is causing problems for comparison of regtest suites.

Adding a checkpoint restart capability

A requirement for operations, is going to be the ability to restart WW3 from a checkpoint. This means selecting the correct restart file and then continuing to write output files from that point.

A proposed solution is to add an option to not only label the restart files with dates such as
restart.YYYYMMDDHHMMSS.ww3 (or some form of YYYYMMDDHH) and to explore the possibility of having output such as out_pnt.ww3 also be for each time (out_pnt.YYYYMMDDHH.ww3) so that you would not have to over-write anything in the binary file or cycle through to find out in initialization where you should be in the binary file.

We could also consider adding an option to put the output in folders, since this potentially could increase the number of files which is of a concern in coupled models where all models have lots of output files and it could be an issue for the file system.

@aliabdolali @ajhenrique

Memory leak in subroutine TAU_WAVE_ATMOS of w3src6md.ftn

The subroutine TAU_WAVE_ATMOS dynamically allocates six working arrays every call but does not release them. The following should probably be added a the end of the subroutine:

  DEALLOCATE(SIG10Hz,CINV10Hz,DSII10Hz)
  DEALLOCATE(SDENSX10Hz,SDENSY10Hz,UCINV10Hz)

Extra line in ww3_shel.ftn

I had an error runinng ww3_shel, it complained about a problem reading ww3_shel.inp

Diving in the code, seems this can be fixed by commenting an extra READ in line 1303

From
READ (NDSI,,END=2001,ERR=2002) IPRT, PRTFRM
!/DEBUGINIT write(740+IAPROC,
), 'Before reading IPRT'
!/DEBUGINIT write(740+IAPROC,), 'Before read 2002, case 10'
READ (NDSI,
) IPRT, PRTFRM
!/DEBUGINIT write(740+IAPROC,*), ' After read 2002, case 10'

to
READ (NDSI,,END=2001,ERR=2002) IPRT, PRTFRM
!/DEBUGINIT write(740+IAPROC,
), 'Before reading IPRT'
!/DEBUGINIT write(740+IAPROC,), 'Before read 2002, case 10'
!!! READ (NDSI,
) IPRT, PRTFRM
!/DEBUGINIT write(740+IAPROC,*), ' After read 2002, case 10'

Option for keeping build directories in a specified directory

Add an option to keep all build information (mod/obj_*, tmp, exe) in a different directory than model. One advantage to adding this feature would be that it would allow for multiple builds to occur simultaneously and could help speed up regression tests significantly.

Error in wmupdtmd.ftn / wmupds

In line 1876- 1878 (wmupds subroutine)

          IF ( FLAGLL ) THEN
              IF ( ICLOSE.NE.ICLOSE_NONE ) JJ = 1 + MOD(J-1,NXI)
              IF ( JJ.LT.1 .OR. JJ.GT. NXI ) CYCLE

This leads to a crash if no closure is used as JJ is not defined before being called.

I think it should be like this instead, copying what is done in line 1835

          IF ( FLAGLL .AND. ICLOSE.NE.ICLOSE_NONE ) THEN
              JJ =  1 + MOD(J-1,NXI)
              IF ( JJ.LT.1 .OR. JJ.GT. NXI ) CYCLE

It might have been reported before, maybe in the mailing list, but the version here still has the error.

Transferring branches Vlab-> github

After the successful transition of the master and develop branches from NOAA VLab to GitHub, a few branches need to be cleaned up or transferred across to forks or institutional repos.

Generalization of comp/link scripts -> cmplr.env + [comp|link].tmpl

A multitude of comp/link scripts for specific applications/machines, some deprecated, populates the model/bin directory. @mickaelaccensi has whipped up a set of template comp/link files with and env-setting script that is lined up to replace individual comp/link files, inc association with the w3_setup script. The work will require collaboration between users to make sure the new approach works across platforms. An idea is to include modulefiles use in compilation across machines to help users and developers in their initial model setup.

fix typo in manual

@flampouris

In the manual for The Restart File Processor (ww3_uprsrt) section, there are two places where it says:
UPD0C:: ELIMINATED from version x.xx
UPD1 :: ELIMINATED from version x.xx

what version is x.xx?

Depth breaking DB1 bug

DB1 module was originally coded using the monocramatic wave dissipation dimensional variables. It was updated to use the spectral form, but some coefficients were no updated accordingly which resulted in a dimensionally-incorrect version. @aronroland @ajhenrique and @thesser1 are working to fix this inconsistency.

WAVEWATCH III Developers meeting, Wed June 5th 2019 10:30am

Hello WAVEWATCH III Developers,

Wednesday is out first bi-monthly WAVEWATCH III Developers meeting since the transition to GitHub. The focus of this meeting will be on the transition to GitHub itself, a description of our new authoritative and trusted repositories, new milestones for v7, and recent developments.

Highlights also include the presentation "Met Office WAVEWATCH III profiling and scale-ability activities" by Dr Andrew Saulter (UKMO), and an open forum where developers can discuss items of interest.

When: Wednesday, June 5th 2019, 10:30am EDT

Presentation material will be posted via google hangouts:
https://meet.google.com/egi-wopu-sqn

For audio, we will use the teleconference line: 1-877-953-0315
Passcode: 1262920#

Let's go modeling!

Henrique,

For the WAVEWATCH III Development Group

@12cm103
@ajhenrique
@aliabdolali
@bauj0001
@brandaodeco
@breichl
@CarstenHansen
@Clarenburg
@emezac63
@erdc
@FCOO
@flampouris
@hellais
@hkershaw-brown
@huangynj
@j-gonzalezlopez
@jessicaborgesp
@JessicaMeixner-NOAA
@JoaoGRRodrigues
@lileipku00
@mickaelaccensi
@randobucci
@rickyspaceguy
@sahammhd
@seglion
@tiagofaro
@tomdurrant
@ukmo-ccbunney
@ukmo-waves
@umr-lops
@AndresSepulveda
@wavespotter
@XianwuXue-NOAA
@xuexianwu
@yuemaaa
@yuwana1989
@zhongtouwang2019

Merge Hotfix HF_ounfpart branch to NOAA-EMC/WW3 master and develop

The following hotfixes will be merged to NOAA-EMC/WW3 master and develop:

  • Bugfix in ww3_ounf.ftn: NBIPART check against NOSWLL. See #2.
  • Updating link files for grib compile, change to ww3_uprstr for clean compile with OMPH OMPG flags,
  • Option for writing to fixed netcdf gridded output file with NCO switch (more appropriate fix in v7, see #8).
  • DB1 depth-breaking_bugfix: added proper scaling coefficients for radian freq. [radHz]. See #7.

The update affects the following downstream forks:
@ajhenrique ajhenrique / WW3
@aliabdolali aliabdolali / WW3
@erdc erdc / WW3
@flampouris flampouris / WW3
@hellais hellais / WW3
@huangynj huangynj / WW3
@j-gonzalezlopez j-gonzalezlopez / WW3
@JessicaMeixner-NOAA JessicaMeixner-NOAA / WW3
@lileipku00 lileipku00 / WW3
@rickyspaceguy rickyspaceguy / WW3
@sahammhd sahammhd / WW3
@tomdurrant tomdurrant / WW3
@ukmo-waves ukmo-waves / WW3
@umr-lops umr-lops / WW3
@wavespotter wavespotter / WW3
@xuexianwu xuexianwu / WW3
@yuemaaa yuemaaa / WW3
@yuwana1989 yuwana1989 / WW3
@zhongtouwang2019 zhongtouwang2019 / WW3

Problem with ww3_prnc 2 components field

I'm not sure if it is a bad use from my part or an issue in the code

line 1873 when interpolating for a 2-component field the following formula is used for A3

A3(IX,IY) = SQRT ( &
RD11(IX,IY) * ( XC(IX21(IX,IY),IY21(IX,IY))**2 &
+ YC(IX21(IX,IY),IY21(IX,IY))**2 ) &
+ RD21(IX,IY) * ( XC(IX22(IX,IY),IY21(IX,IY))**2 &
+ YC(IX22(IX,IY),IY21(IX,IY))**2 ) &
+ RD12(IX,IY) * ( XC(IX21(IX,IY),IY22(IX,IY))**2 &
+ YC(IX21(IX,IY),IY22(IX,IY))**2 ) &
+ RD22(IX,IY) * ( XC(IX22(IX,IY),IY22(IX,IY))**2 &
+ YC(IX22(IX,IY),IY22(IX,IY))**2 ) )

I have an issue in my case where the number inside the square root is negative, from a negative value of RD22.
Probably an issue from having a 1/12 degree regular grid, I suspect that the different rounding in my forcing grid and forcing file is giving a very small negative value of RD22 at some point when computing the weights.

Maybe a way around it could be a 'transfer as it is' option in the nml input file, like in the inp version?

OpenMPI iogomd error

@MicahDavid reported

I was receiving the following error using OpenMPI:

At line 394 of file w3iogomd.F90
Fortran runtime error: Unit number is negative and unit was not already opened with OPEN(NEWUNIT=...)

Making the fix to w3iogomd.ftn on line 404 alleviated this error:
FROM:
IF (IFJ .LT. NOGE(IFI)) WRITE(NDSEN,1007) IFI
TO:
IF (NDSEN .GE. 0 .AND. IFJ .LT. NOGE(IFI)) WRITE(NDSEN,1007) IFI

remove files from regtests comparison

The profile output gmon.out and time_count.txt should be removed from the regtests/bin/matrix.comp script so that they are not included in regression test comparisons.

Problem with ww3_shel

Hi,

I am receiving the following error in my simulation, when using ww3_shel

....
Type 6 : Partitioned wave field data
-----------------------------------------
From : 1968/06/06 00:00:00 UTC
To : 2001/01/02 00:00:00 UTC
Interval : 01:00:00

        output dates out of run dates : Track point output deactivated
        output dates out of run dates : Nesting data deactivated
        output dates out of run dates : Partitioned wave field data deactivated
   Wave model ...

corrupted size vs. prev_size

Program received signal SIGABRT: Process abort signal.

The same configuration ran ok in my laptop. Any idea what it could be?

Attached are the output, switch and ww3_shel.inp files

error.log
ww3_shel.inp.txt

switch.txt

error in w3timemd / U2D

error in flag status to read time with new CF convention when month and day are written on only one character : YYYY-M-D

OMP switches missing in w3psmcmd

The W3PSMCMD module uses OMP directives on various loop constructs, but these are not protected by one of the OMPx compile switches.

The !/OMPG switch should be used as these loops parallelize well in both hybrid and pure OMP mode.

UG_GETOPENBOUNDARY index

OUTSIDE_BOUNDARY is defined over the full nodes NODES indexes whereas TMPSTA and ZBIN are defined over the clean up list of nodes NX

WAVEWATCH III Developers meeting, Thu Aug 1st 02019 10:30am

Hello WW3 Developers

Tomorrow we will have our Bi-Monthly Call to discuss the development of WAVEWATCH III.

During this meeting, we will have a presentation about the unstructured grid implicit scheme implementation in WAVEWATCH III. We will also present a summary of recent developments included in the develop branch and updates on master branch changes. The meeting will end with an open forum where all developers can express their ideas and suggestions as well as ask any questions relevant to the development community.

This meeting will be hosted by NCEP and led by Ali Abdolali. He will add an agenda soon.

Cheers

Henrique

Presentation Title: Improving Efficiency and Accuracy of WAVEWATCH III on Unstructured Grids
By Ali Abdolali - NOAA/EMC

Join hangouts meeting: meet.google.com/pwq-vnuq-ady

@ajkammerer93
@aliabdolali
@bauj0001
@benoitp-cmc
@brackins-john
@brandaodeco
@breichl
@CarstenHansen
@chrishalbert
@Clarenburg
@djcrowley4
@djtitze
@dongming007
@emezac63
@erdc
@MathieuDutSik
@fabio-p-piccoli
@FCOO
@flampouris
@fmlokt
@fradscnr
@GabySalgado
@graig-sutherland
@hellais
@hkershaw-brown
@huangynj
@j-gonzalezlopez
@JeffOskamp
@jessicaborgesp
@JessicaMeixner-NOAA
@JoaoGRRodrigues
@kayo-ide
@lauryrenac
@lileipku00
@ling2019
@Miazhi
@MicahDavid
@mickaelaccensi
@mithundeb
@mmuscato
@QingxiangLiu
@randobucci
@RichardMGorman
@rickyspaceguy
@RobertoPadilla-NOAA
@sahammhd
@SallyDillon12
@seglion
@tiagofaro
@tomdurrant
@ukmo-ccbunney
@ukmo-waves
@umr-lops
@AndresSepulveda
@wavespotter
@XianwuXue-NOAA
@xuexianwu
@xychengso
@YoungjaeYu
@yuemaaa
@yuwana1989
@zhongtouwang2019

Updates on IC5 module

Extending the current IC5 module by including another two dissipative ice models:

  1. the viscoelastic Robinson & Palmer ice model (i.e., the RP model in Mosig et al. (2015))
  2. the Order 3 power law proposed by Meylan et al. (2018)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.