! -------------------------------------------------------------------- ! ! WAVEWATCH III - ww3_grid.nml - Grid pre-processing ! ! -------------------------------------------------------------------- ! ! -------------------------------------------------------------------- ! ! Define the spectrum parameterization via SPECTRUM_NML namelist ! ! * namelist must be terminated with / ! * definitions & defaults: ! SPECTRUM%XFR = 0. ! frequency increment ! SPECTRUM%FREQ1 = 0. ! first frequency (Hz) ! SPECTRUM%NK = 0 ! number of frequencies (wavenumbers) ! SPECTRUM%NTH = 0 ! number of direction bins ! SPECTRUM%THOFF = 0. ! relative offset of first direction [-0.5,0.5] ! -------------------------------------------------------------------- ! &SPECTRUM_NML SPECTRUM%XFR = 1.10 SPECTRUM%FREQ1 = 0.05 SPECTRUM%NK = 32 SPECTRUM%NTH = 36 / ! -------------------------------------------------------------------- ! ! Define the run parameterization via RUN_NML namelist ! ! * namelist must be terminated with / ! * definitions & defaults: ! RUN%FLDRY = F ! dry run (I/O only, no calculation) ! RUN%FLCX = F ! x-component of propagation ! RUN%FLCY = F ! y-component of propagation ! RUN%FLCTH = F ! direction shift ! RUN%FLCK = F ! wavenumber shift ! RUN%FLSOU = F ! source terms ! -------------------------------------------------------------------- ! &RUN_NML RUN%FLCX = T RUN%FLCY = T RUN%FLCTH = T RUN%FLCK = T RUN%FLSOU = T / ! -------------------------------------------------------------------- ! ! Define the timesteps parameterization via TIMESTEPS_NML namelist ! ! * It is highly recommended to set up time steps which are multiple ! between them. ! ! * The first time step to calculate is the maximum CFL time step ! which depend on the lowest frequency FREQ1 previously set up and the ! lowest spatial grid resolution in meters DXY. ! reminder : 1 degree=60minutes // 1minute=1mile // 1mile=1.852km ! The formula for the CFL time is : ! Tcfl = DXY / (G / (FREQ1*4*Pi) ) with the constants Pi=3,14 and G=9.8m/s²; ! DTXY ~= 90% Tcfl ! DTMAX ~= 3 * DTXY (maximum global time step limit) ! ! * The refraction time step depends on how strong can be the current velocities ! on your grid : ! DTKTH ~= DTMAX / 2 ! in case of no or light current velocities ! DTKTH ~= DTMAX / 10 ! in case of strong current velocities ! ! * The source terms time step is usually defined between 5s and 60s. ! A common value is 10s. ! DTMIN ~= 10 ! ! * namelist must be terminated with / ! * definitions & defaults: ! TIMESTEPS%DTMAX = 0. ! maximum global time step (s) ! TIMESTEPS%DTXY = 0. ! maximum CFL time step for x-y (s) ! TIMESTEPS%DTKTH = 0. ! maximum CFL time step for k-th (s) ! TIMESTEPS%DTMIN = 0. ! minimum source term time step (s) ! -------------------------------------------------------------------- ! &TIMESTEPS_NML TIMESTEPS%DTMAX = 150. TIMESTEPS%DTXY = 100. TIMESTEPS%DTKTH = 50. TIMESTEPS%DTMIN = 10. / ! -------------------------------------------------------------------- ! ! Define the grid to preprocess via GRID_NML namelist ! ! * the tunable parameters for source terms, propagation schemes, and ! numerics are read using namelists. ! * Any namelist found in the folowing sections is temporarily written ! to param.scratch, and read from there if necessary. ! * The order of the namelists is immaterial. ! * Namelists not needed for the given switch settings will be skipped ! automatically ! ! * grid type can be : ! 'RECT' : rectilinear ! 'CURV' : curvilinear ! 'UNST' : unstructured (triangle-based) ! ! * coordinate system can be : ! 'SPHE' : Spherical (degrees) ! 'CART' : Cartesian (meters) ! ! * grid closure can only be applied in spherical coordinates ! ! * grid closure can be : ! 'NONE' : No closure is applied ! 'SMPL' : Simple grid closure. Grid is periodic in the ! : i-index and wraps at i=NX+1. In other words, ! : (NX+1,J) => (1,J). A grid with simple closure ! : may be rectilinear or curvilinear. ! 'TRPL' : Tripole grid closure : Grid is periodic in the ! : i-index and wraps at i=NX+1 and has closure at ! : j=NY+1. In other words, (NX+1,J<=NY) => (1,J) ! : and (I,NY+1) => (NX-I+1,NY). Tripole ! : grid closure requires that NX be even. A grid ! : with tripole closure must be curvilinear. ! ! * The coastline limit depth is the value which distinguish the sea ! points to the land points. All the points with depth values (ZBIN) ! greater than this limit (ZLIM) will be considered as excluded points ! and will never be wet points, even if the water level grows over. ! It can only overwrite the status of a sea point to a land point. ! The value must have a negative value under the mean sea level ! ! * The minimum water depth allowed to compute the model is the absolute ! depth value (DMIN) used in the model if the input depth is lower to ! avoid the model to blow up. ! ! * namelist must be terminated with / ! * definitions & defaults: ! GRID%NAME = 'unset' ! grid name (30 char) ! GRID%NML = 'namelists.nml' ! namelists filename ! GRID%TYPE = 'unset' ! grid type ! GRID%COORD = 'unset' ! coordinate system ! GRID%CLOS = 'unset' ! grid closure ! ! GRID%ZLIM = 0. ! coastline limit depth (m) ! GRID%DMIN = 0. ! abs. minimum water depth (m) ! -------------------------------------------------------------------- ! &GRID_NML GRID%NAME = 'Inlet' GRID%NML = '../input/namelists_a.nml' GRID%TYPE = 'UNST' GRID%COORD = 'SPHE' GRID%CLOS = 'F' GRID%ZLIM = 4.0 GRID%DMIN = 0.30 / ! -------------------------------------------------------------------- ! ! Define the unstructured grid type via UNST_NML namelist ! - only for UNST grids - ! ! * The minimum grid size is 3x3. ! ! * &MISC namelist must be removed ! ! * The depth value must have negative values under the mean sea level ! ! * The map value must be set as : ! -2 : Excluded boundary point (covered by ice) ! -1 : Excluded sea point (covered by ice) ! 0 : Excluded land point ! 1 : Sea point ! 2 : Active boundary point ! 3 : Excluded grid point ! 7 : Ice point ! ! * the file must be a GMESH grid file containing node and element lists. ! ! * Extra open boundary list file with UGOBCFILE in namelist &UNST ! An example is given in regtest ww3_tp2.7 ! ! * value <= scale_fac * value_read ! ! * IDLA : Layout indicator : ! 1 : Read line-by-line bottom to top. (default) ! 2 : Like 1, single read statement. ! 3 : Read line-by-line top to bottom. ! 4 : Like 3, single read statement. ! * IDFM : format indicator : ! 1 : Free format. (default) ! 2 : Fixed format. ! 3 : Unformatted. ! * FORMAT : element format to read : ! '(....)' : auto detected (default) ! '(f10.6)' : float type ! ! * Example : ! IDF SF IDLA IDFM FORMAT FILENAME ! 20 -1. 4 2 '(20f10.2)' 'ngug.msh' ! ! * namelist must be terminated with / ! * definitions & defaults: ! UNST%SF = 1. ! unst scale factor ! UNST%FILENAME = 'unset' ! unst filename ! UNST%IDF = 20 ! unst file unit number ! UNST%IDLA = 1 ! unst layout indicator ! UNST%IDFM = 1 ! unst format indicator ! UNST%FORMAT = '(....)' ! unst formatted read format ! ! UNST%UGOBCFILE = 'unset' ! additional boundary list file ! -------------------------------------------------------------------- ! &UNST_NML UNST%SF = -1. UNST%FILENAME = '../input/inlet.msh' UNST%IDLA = 4 UNST%FORMAT = '(20f10.2)' / ! -------------------------------------------------------------------- ! ! Define the input boundary points via INBND_COUNT_NML and ! INBND_POINT_NML namelist ! - for RECT, CURV and UNST grids - ! ! * If no mask defined, INBOUND can be used ! ! * If the actual input data is not defined in the actual wave model run ! the initial conditions will be applied as constant boundary conditions. ! ! * The number of points is defined by INBND_COUNT ! ! * The points must start from index 1 to N ! ! * Each line contains: ! Discrete grid counters (IX,IY) of the active point and a ! connect flag. If this flag is true, and the present and previous ! point are on a grid line or diagonal, all intermediate points ! are also defined as boundary points. ! ! * Included point : ! grid points from segment data ! Defines as lines identifying points at which ! input boundary conditions are to be defined. ! ! * namelist must be terminated with / ! * definitions & defaults: ! INBND_COUNT%N_POINT = 0 ! number of segments ! ! INBND_POINT(I)%X_INDEX = 0 ! x index included point ! INBND_POINT(I)%Y_INDEX = 0 ! y index included point ! INBND_POINT(I)%CONNECT = F ! connect flag ! ! OR ! INBND_POINT(I) = 0 0 F ! included point ! -------------------------------------------------------------------- ! &INBND_COUNT_NML INBND_COUNT%N_POINT = 2 / &INBND_POINT_NML INBND_POINT(1) = 1 1 F INBND_POINT(2) = 75 1 T / ! -------------------------------------------------------------------- ! ! WAVEWATCH III - end of namelist ! ! -------------------------------------------------------------------- !