Home

Chapter 34 Sediment reference manual

image

Contents

1. The total water depth is updated titel et iit Cc 31 The depth integrated velocity fields are corrected using 26 27 The values of U t and V tl are evaluated at the open boun daries by applying the open boundary conditions The predicted values u vP of the horizontal current are corrected to en sure that the depth integrated currents obtained from equations 26 are identical to the depth integrated values of the 3 D current The corrected values are then given by Het iituayp ts Unrthitrl UP n 1 _ Hr Lit l u 32 Hrt titw p yrn lit 1 yp uti oe 33 Hrtiittiy 51 9 A convergence check is performed by comparing the norm of with a threshold value e i e IIC lloo max lt imp 34 A new iteration is started when the criterion is not satisfied At present no algorithm has been programmed within the COHERENS source code to solve the linear system arising from the discretisation of the 2 D continuity equation Routines have however been provided to solve with the external PETSc library which is activated in the program by set ting the DPETSC compiler option Different algorithms linear solvers and preconditioners are available whose default values Incomplete Cholesky preconditioner in combination with a GMRES solver can be changed by the user Since the solvers are iterative a tolerance level has to be provided In summary application
2. Its value is saved at the last iteration until the next time step dzetaresid_conv Threshold value used in the convergence criterium for the outer loop petsc_tol Relative tolerance used by PETSc for solving the lin ear system The parameters atol dtol maxits used by PETSc in the solution procedure are set to the PETSc defaults 56 timepars f90 delt2d In the explicit mode splitting case the time step for the 2 D mode In case an implicit scheme is taken the time step used for all transport equations Instructions for users model setup The following new switches and model parameters can be set by the user in usrdef_mod_params or in the CIF Default is given in parentheses iopt_curr Type of current fields 2 iopt_hydro_impl Selects explicit or implicit scheme 0 iopt_petsc_solver Type of solver used by PETSc 5 iopt_petsc_precond Type of preconditioner used by PETSc 5 maxitsimp Maximum number of iterations allowed for the outer loop 1 dzetaresid conv Threshold value jmp 107 petsc_tol Relative tolerance used by PETSc 1077 compilation The procedures have been changed so that COHERENS can be compiled with or without the PETSc library Note that the implicit scheme can only be used in the latter case Difference with the previous version is that the file options cpp has been removed and replaced by coherensflags cmp This file is read by the Makefile and contains definitions of machine d
3. cell_layer REAL ALLOCATABLE DIMENSION beta_state_sed cvol sedsrcuser amp amp obcsedatu obcsedatv amp vdiffcoef_sed wfall File sedarrays f90 Type Module Purpose Sediment arrrays Description bdragcoefatc_sed Bottom drag coefficient at the C nodes using skin roughness bdragcoefatu_sed Bottom drag coefficient at the U nodes using skin roughness bdragcoefatv_sed Bottom drag coefficient at the V nodes using skin roughness bed_fraction Fractional amounts of sediments at the sea bed be tween 0 and 1 bed slope _x Bed slope in the X direction at the C nodes bed_slope_x_atu Bed slope in the X direction at the U nodes bed_slope_x_atv Bed slope in the X direction at the V nodes bed_slope_y Bed slope in the Y direction at the C nodes bed_slope_y_atu Bed slope in the Y direction at the U nodes bed slope y_atv Bed slope in the Y direction at the V nodes 34 4 SEDIMENT MODEL VARIABLES beta_sed beta_state_sed bottom_sed_flux bstresatc_sed bstresatc_wav bstresatu_wav bstresatv_wav cell_layer ceq cref ctot cvol dp d50_bed height_c obcsedatu obcsedatv qbedatu 1493 Ratio between sediment eddy diffusivity and eddy vis cosity 8 Expansion factor 3 in equation of state per sediment fraction m m Upward net sediment flux at the sea bed EF D per fraction m s Bed shear stress using skin roughness at the C nodes 2 2 m s Bed shear stress due to wave effects at th
4. IF ciffiles icif_sed status FQ R THEN CALL read_cif_mod_params icif_sed iopt_sed GT 0 0 ENDIF Write the new CIF if requested by adding the following code in cohe rens_main IF master AND iopt_sed GT 0 AND ciffiles icif_sed status EQ W THEN CALL write_cif_mod_params icif_sed CALL close_filepars ciffiles icif_sed ENDIF Parts of the CIF produced for test case plume 3 3 INILOG_FILE plumeiA inilogA RUNLOG_FILE plumeiA runlogA RUNLOG_COUNT 8640 MAX ERRORS 50 LEVPROCS_ERR 2 ERRLOG_FILE plumeilA errlogA WARNING T WARLOG_FILE plumelA warlogA LEVTIMER 3 TIMING_FILE plumelA timingA TIMER_FORMAT 1 IOPT_ADV_SCAL IOPT_ADV_TURB 3 0 12 IOPT_ADV_TVD 1 IOPT_ADV_2D 3 IOPT_ADV_3D 3 IOPT_ARRINT_HREG IOPT_ARRINT_VREG IOPT_ASTRO_ANAL IOPT_ASTRO_PARS IOPT_ASTRO_TIDE 0 0 0 0 0 NC 121 NR 41 NZ 20 NOSBU NOSBV 120 NRVBU 0 NRVBV 1 NONESTSETS NORLXZONES NPROCS 1 NPROCSX 1 NPROCSY 1 IDMASTER 0 CSTARTDATETIME 2003 01 03 00 00 00 000 CENDDATETIME 2003 01 06 00 00 00 000 DELT2D 30 IC3D 10 ICNODAL 0 TIME_ZONE 0 ATMPRES_REF 101325 BDRAGCOEF_CST 0 BDRAGLIN 0 80 tool O oO NCONOBC INDEX_OBC NCONASTRO ALPHA BLACK ALPHA MA 10 ALPHA_PP 5 BETA MA 3 33 BETA_XING 2 1 46 0 0 2 13 NORESTARTS 1 NTRESTART 8640 INTITLE plumeiA OUTTITLE plumeA MAXWA
5. kinvisc_cst Constant value for the kinematic viscosity if iopt_kinvisc 1 De fault is 1 E0 06 m s The following arrays need to be defined in usrdef_nstgrd_spec in case se diment fractions are used for nesting nosednst nonestsets number of fractions for each sub grid intsed nf nonestsets fraction numbers for each sub grid where nf equals the number of sediment fractions defined in the setup of the sediment model A series of wave arrays are introduced wavedir Wave direction rad wavexcurs Near bottom wave excursion amplitude m wavefreq Peak wave frequency rad s waveheight Significant wave height m wavenum Wave number 1 m waveperiod Peak wave period at s ss The arrays marked by a KEN can be used for input in usrdef_surface_data dependin on 8 the value of iopt_waves 73 waveuvel Near bottom wave orbital velocity in the X direction m s wavevel Near bottom wave orbital velocity m s wavevvel Near bottom wave orbital velocity in the Y direction m s model output The derived type arrays tsrvars avrvars analvars have an additional optional attribute numvar representing the variable number in case of multi variable arrays such as sediment fractions The number then represents the last index of the data variable e g fraction number model routines The following new routines have been implemented e Diffusion_Coefficients F 90 kinematic_viscosity calculates kinematic viscosity as function o
6. C Riigi PS i412 at U nodes A similar expression applies at V nodes A local solution for the baroclinic current is obtained by solving the equation obtained from the 3 D and 2 D momentum equations without advection and horizontal diffusion ou ae 20 sin v FP Fro _ Fi 1 on Thl Ts1 3 H hs Os hs Os A at U nodes and ae 20 sin u F Fe 10 VT v Th2 Ts2 A hg Os G Os A 4 at V node open boundaries At the surface and the bottom the diffusive fluxes are set to zero 2 D open boundary conditions A relaxation condition can optionally be applied for all exterior 2 D data transports and elevation in case the model is set up with the default ini tial conditions zero transports and elevations In that case the exterior data function 1 t is multiplied by the factor a t min t T 1 where T is the relaxation period The method avoids the development of discontinuities during the initial propagation of e g a tidal wave into the domain 26 Instructions for users user output Automatic generation of user output data is selected by defining an output variable with a zero key id attribute ivarid and eventually defining the ad ditional variable attributes oopt klev dep The only other attribute which must be defined always is the output dimension of the variable nrank In case of a user defined variable with a zero ivarid all attributes must
7. The routine is called at all time steps with the explicit and implicit scheme in case of a 2 D grid iopt_grid_nodim correct_free_surf Performs steps 3 to 7 of the implicit algorithm The routine is not called in case of an explicit scheme current_corr Applies the corrector step for both the explicit and implicit step 8 of the algorithm method surface_elevation The same as before but the routine is not called by the implicit scheme Open_Boundary_Conditions f90 open_boundary_conds_imp Insert the terms arising from the open boun dary conditions at the appropriate places in the matrix system 5 37 petsc_routines f90 Series of routines for solving the system of linear equations using the PETSc library The routines are called only if the compiler option DPETSC has been defined Transport_Equations F 90 The transport equations for currents have been slightly modified so that they can be used both with the explicit and implicit method The changes are purely technical and not documented 53 arrays The following new arrays are defined for internal purposes only currents f90 umvel_old Depth mean current u at the old time level t vmvel_old Depth mean current v at the old time level t depths f90 deptotatu_prev Total water depth at the U nodes and the previous outer iteration deptotatv_prev Total water depth at the V nodes and the previous outer iteration dzeta Difference between the s
8. This equation includes wave effects 2000 Total load is calculated as the sum of suspended and bed load 2003 This equation includes wave ef fects and total load is the sum of suspended and bed load 2007a This equation includes wave effects and total load is the sum of suspended and bed load Type of sediment 1 2 sand non cohesive mud cohesive Disables 0 enables gt 0 vertical settling of sedi ments and selects the type of numerical advection scheme if gt 0 and vertical advection for non sediment scalars is disabled iopt_adv_scal 0 If iopt_adv_scal gt 0 then either iopt_sed_vadv 0 or set equal to iopt_adv_scal iopt_sed_wave_diff Selects the turbulent diffusion coefficient due to waves iopt_sed_ws 0 1 no diffusion coefficient according to 2007b Type of method for the settling velocity Q oF WwW Ne user defined value for each fraction formulation for sand formulation for mud Stokes formula formula equation 1502 CHAPTER 34 SEDIMENT REFERENCE MANUAL 34 5 Interfaces A series of generic routines for sediment transport are called from the physical main part of COHERENS If the user wants to couple COHERENS with an alternative sediment module different from the one in COHERENS the user must provide these routines Empty routines with only a declaration part of arguments are allowed A complete list is given below The
9. Diffusion_Terms F90 and for routines performing array interpolation on the model grid array_interp f90 e The vertical k loops have been replaced at several places by WHERE statements using 3 D masks e The interpolation routines have been modified to take account of ve locity nodes with a non uniform dry wet status along the vertical e Application of the bottom and surface boundary conditions at velocity nodes in case iopt_structs 1 39 As a consequence of these changes the CPU time increases by about 10 20 This has been confirmed by comparing the simulation times of the test cases with those performed using version V2 1 2 The problem will be more fully investigated at a later stage Test cases The setup of the test cases has not been changed Since the code has been modified at several places the output parameters slightly differ from the ones obtained with V2 1 2 Compatibility with previous versions Version V2 2 is compatible with V2 1 2 except that the switch iopt_obc_int and the open boundary setup arrays itypintobu itypintobv have been removed 3Sole exception is that the switch iopt_obc_int has been removed and iopt_obc_advflux is set to 2 in test case optos_csm 40 Version V2 3 Coherens Version V2 3 previous release V2 2 Revision 438 svn path http svn mumm ac be svn root coherens versions V2 3 Date of release 2012 03 12 File code coherensV2 3 tar gz File manual manualV2 3
10. Read the initial conditions for sediments from a file in standard CO HERENS format Arguments None Calling procedures initialise_model 1480 CHAPTER 34 SEDIMENT REFERENCE MANUAL read_sed_spec SUBROUTINE read_sed_spec File Sediment_Initialisation f90 Type Subroutine Purpose Read the particle attributes from a file in standard COHERENS format Arguments None Calling procedures initialise_model 34 1 7 Sediment_Parameters f90 assign_cif_vars_sed SUBROUTINE assign _cif_vars_sed cname cvals numvars CHARACTER LEN lenname INTENT IN OPTIONAL cname CHARACTER LEN lencifvar INTENT IN DIMENSION MaxCIFvars cvals INTEGER INTENTCIN numvars File Sediment_Parameters f90 Type Subroutine Purpose Convert a data string from a CIF input line to the appropriate numeri cal logical or character values of the corresponding sediment variables Reference Section Arguments cname Variable name s cvals Data values in string format 34 2 MODULE ROUTINES numvars Number of sediment variables read from the CIF input line Calling procedures read_cif_params write_cif_vars_sed SUBROUTINE write_cif_vars_sed File Sediment_Parameters f90 Type Subroutine Purpose Write the CIF for sediment model setup Reference Section Arguments None Calling procedures initialise_model 34 2 Module routines 34 2 1 check_sediments f90 check _sed_ics SUBROUTINE check_sedics Fi
11. V2 5 1 previous release V2 5 Revision 613 svn path http svn mumm ac be svn root coherens versions V2 5 1 Date of release 2013 08 08 Code coherensV2 5 1 tar gz User documentation User_Documentation_V2 5 1 pdf Reference manual Reference Manual_V2 5 1 pdf Implementations Novel features have been implemented for the generation of model grids in the horizontal and vertical directions horizontal In this release an option has been provided to align a rectangular model grid i e grids for which hi amp he 2 with specific features such as coast lines bathymetric contours or open boundaries by means of a simple grid rotation In the spherical case this is achieved by a coordinate transformation obtained by displacing the North Pole to a new location in the Cartesian case by rotating the coordinate axes For more details see Section 4 1 3 of the User Documentation vertical A new switch iopt_vtype_transf is introduced which automatically generates several vertical grid transforms discussed in Section of the Documentation 77 Model code and setup switches iopt_grid_ vtype_transf This new switch allows to select automatically diffe rent types of vertical grids transformation Default is Zero 0 uniform vertical grid iopt grid vtype 1 or user defined 11 log transformation 4 23 at the bottom following 1991 if iopt_grid_vtype 2 12 log transformation 4 24 at the surface following 1991 if io
12. by the new switch iopt_obc_relax 0 relaxation scheme disabled default 1 relaxation scheme enabled In that case the parameter distrlx_obc representing the parameter dmar must be defined by the user in usrdef_mod_params or in the CIF interpolation routines The grid interpolation routines defined in array_interp f90 have been rewrit ten The name and meaning of each routine is the same before There are however some important changes The argument intsrce selects which points at the source node are taken into account The meaning depends on the type of node and is doc umented internally in the source code and externally in the Reference Manual The argument intdest selects at which points on the destination node interpolation is performed The meaning depends on the type of node and is documented internally in the source code and externally in the Reference Manual Vertical interpolation is obviously not allowed on land This means in particular that W UW and VW nodes are excluded as source or destination nodes on land A clear distinction has now been made between velocity nodes at coastal boundaries and at closed land cell faces The arguments Ibounds and ubounds are respectively the lower and up per boundaries of the interpolating array at the source node Contrary to the previous versions the interpolating array is assumed to be 3 D so that the two vectors must have a size of 3 Interpolation of a 2 D horiz
13. correct the error in a robust way the shapes of vertical profiles at open boundaries has been modified so that the first dimension refers to the horizontal position and the second to the vertical dimension This means in particular that e obcvel3d nz 0 noprofs profvel nz maxprofs 2 nofiles 2 becomes obcvel3d 0 noprofs nz profvel maxprofs nz 2 nofiles 2 in current_cor e obcsal3d nz 0 noprofs profsal nz maxprofs 2 nofiles 2 becomes obcsal3d 0 noprofs nz profsal maxprofs nz 2 nofiles 2 in salinity_equation e obctemp3d nz 0 noprofs proftmp nz maxprofs 2 nofiles 2 becomes obctemp3d 0 noprofs nz proftmp maxprofs nz 2 nofiles 2 in temperature_equation e obcdata nzdat 0 noprofs becomes obcdata 0 noprofs nzdat e psiprofdat nzdat numprofs numvars becomes psiprofdat numprofs nzdat numvars in usrdef_profobc_data e A similar switch of dimensions has been made in array arguments of routines defined in Open_Boundary_Data_Prof f90 The positions of the arguments representing the shape of vertical profile arrays at open boundary arrays have been switched in the calls of the following routines e Open_Boundary_Conditions f90 open_boundary_conditions_3d open_boundary_conds_prof e Open_Boundary_Data_Prof f90 define_profobc_data read_profobc_data write _profobc_data e Usrdef_Model f90 usrdef_profobc_data For example SUBROUTINE usrdef_profobc_data iddesc ifil ciodatetime psiprofdat nzdat amp numprofs n
14. Usrdef_Sediment f90 Type Subroutine Purpose Define switches and parameters for the sediment model Arguments None Calling procedures initialise_model 34 4 SEDIMENT MODEL VARIABLES 1491 usrdef_sedics SUBROUTINE usrdef_sedics File Usrdef_Sediment f90 Type Subroutine Purpose Define initial conditions for the sediment model Arguments None Calling procedures initialise_model usrdef_sed_spec SUBROUTINE usrdef_sed_spec File Usrdef_Sediment f90 Type Subroutine Purpose Define particle attributes for the sediment fractions Arguments None Calling procedures initialise_model 34 4 Sediment model variables 34 4 1 Sediment arrays REAL ALLOCATABLE DIMENSION dp rhos tau_cr_cst ws_cst REAL ALLOCATABLE DIMENSION bdragcoefatc_sed bdragcoefatu_sed amp 1492 CHAPTER 34 SEDIMENT REFERENCE MANUAL bdragcoefatv_sed bed_slope_x bed_slope_x_atu bed_slope_x_atv amp bed_slope_y bed_slope_y_atu bed_slope_y_atv bstresatc_sed amp bstresatc_wav bstresatu_wav bstresatv_wav d50_bed ubstresatc_sed amp S FPP ubstresatu_sed ubstresatv_sed vbstresatc_sed vbstresatu_sed amp amp vbstresatv_sed zroughatc_sed zroughatu_sed zroughatv_sed REAL ALLOCATABLE DIMENSION bed_fraction beta_sed amp amp bottom_sed_flux ceq cref ctot height_c qbedatu qbedatv amp amp qsusatc qtotatu qtotatv tau_cr t_equil INTEGER ALLOCATABLE DIMENSION
15. Vari ableAtts 34 2 MODULE ROUTINES 1489 Calling procedures set_sedfiles_atts SUBROUTINE set_sedfiles_atts iddesc ifil iotype INTEGER INTENTCIN iddesc ifil iotype File sedvars_routines f90 Type Module subroutine Purpose Define the global attributes of a forcing file for the sediment model Arguments iddesc Forcing file key id ifil File number of the forcing file iotype I O type of the forcing file 1 Input file 2 Output file Calling procedures set_modfiles_atts set_sedvars_atts SUBROUTINE set_sedvars_atts iddesc ifil ivarid nrank nshape numvarsid novars INTEGER INTENTC IN iddesc ifil novars INTEGER INTENT OUT DIMENSION novars ivarid nrank numvarsid INTEGER INTENT OQUT DIMENSION novars 4 nshape File sedvars_routines f90 Type Module subroutine Purpose Define the variable attributes of a forcing file for the sediment model 1490 CHAPTER 34 SEDIMENT REFERENCE MANUAL Arguments iddesc Forcing file key id ifil File number of the forcing file ivarid Returned variable key idids nrank Returned variable ranks nshape Returned variable shapes numvarsid Returned variable indices in case the last dimension is a variable dimension undefined otherwise novars Number of variables coordinate plus data in the forcing file Calling procedures set_modvars_atts 34 3 User defined routines 34 3 1 Usrdef Sediment f90 usrdef_sed_params SUBROUTINE usrdef_sed_params File
16. and they are therefore removed from the code As a consequence all copy operations have been deleted in the source code Details are given below idmaster The parameter is now defined in usrdef_mod_params or in the CIF Instructions for users The defruns file Three parameters are read from each line of the defruns separated by a The general systax is runtitle status filename where runtitle status filename The title of the simulation which has the same meaning as before The status of the CIF 0 The CIF utility is switched off both for reading and writing This is the default condition R Model setup parameters are read from a CIF W Model setup parameters are written to a CIF Name of the CIF file If not given the default name TRIM runtitle cifmodA is taken This parameter is obviously not used if status equals 0 Defaults are taken except for runtitle which must always be given when the value is an empty string one blank or several blanks All blanks are ignored on the input line Consider the following example conesA conesA R conesA W myciffile The first line initiates the run conesA without CIF the second one reads the setup from the file conesA cifmodA the third writes the CIF data to the file myciffile Lines can be commented if the first character is a This replaces for compatibility with the CIF syntax below the character used in p
17. ar rays defined locally on different sub domains of the parallel grid to a global array which is writ ten to the appropriate output file For a syntax description see Section 31 11 12 paral_comms f90 combine_stats_glb This generic routine replaces and extends the old routine combine_obc The routine combines the ele ments of a real global array whose elements in the first dimension are defined at different domains on the parallel grid For a syntax description see Sec tion 31 17 combine_stats_loc This generic routine replaces the old routine com bine_stats The routine combines arrays defined lo cally on different sub domains of the parallel grid to a global array For a syntax description see Sec tion 31 17 13 switches f90 The switch iopt_structs has been replaced for transparency of the code by iopt_arrint_3D having the same purpose The switch is automatically switched on if the weirs barrizers module is activated Test cases The following three new test cases have been implemented for testing the structures and discharge modules 85 drythin Simulates the tidal flows around obstacles either represented by a block of dry cells or a series of thin dams within an open channel weirbar A series of experiments are defined simulating the tidal flows over weirs and barriers within an open channel discharges The experiments are designed to test the various options of the discharge module Compatibility with previ
18. baroclinic density gradient z level method CHARACTER LEN 1 cdir INTEGER DIMENSION ncloc nrloc 2 nz 1 2 INTENTCIN kint REAL DIMENSION ncloc nrloc 2 nz 1 2 INTENT IN sigint END SUBROUTINE baroclinic_gradient_sed_z SUBROUTINE buoyancy frequency _sed bgrad sediment contribution to the squared buoyancy frequency REAL DIMENSION O ncloct 1 0 nrloc 1 2 nz INTENT INOUT bgrad END SUBROUTINE buoyancy_frequency_sed SUBROUTINE deallocate_sed_arrays deallocate sediment arrays END SUBROUTINE deallocate_sed_arrays SUBROUTINE equation_of_state_sed sediment contribution to density sediment expansion coefficient END SUBROUTINE equation_of_state_sed SUBROUTINE exchange_sedics exchange the sediment arrays defined by the sediment initial conditions END SUBROUTINE exchange_sedics SUBROUTINE initialise_sediment_arrays initialise sediment model END SUBROUTINE initialise_sediment_arrays SUBROUTINE read_sedics 1504 CHAPTER 34 SEDIMENT REFERENCE MANUAL read the initial conditions for the sediment model from a file in standard COHERENS format END SUBROUTINE read_sedics SUBROUTINE read_sed_spec read sediment specifiers particle attributes from a file in standard COHERENS format END SUBROUTINE read_sed_spec SUBROUTINE sediment_equation main unit of the sediment transport model END SUBROUTINE sediment_equation SUBROUTINE write_cif_vars_sed write the sediment CIF END SUBROUTI
19. be gener ated by the program itself e The syntax of the file is described below 2 Forcing parameters and data defined in a usrdef_ routine can be writ ten to a file in standard COHERENS format Although the utility was 3 already available in the previous version a series of program bugs had to be removed The utility has been fully tested e The output file is created and written eventually over written if the status file attribute is set to W i e modfiles idesc ifil 2 ostatus W e The following usrdef_ calls can be made redundant in this way usrdef_partition usrdef_phsics usrdef_ldsur_spec usrdef_2dobc_spec usrdef_profobc_spec usrdef_idsur_data usrdef_2dobc_data usrdef_profobc_data usrdef_rlxobc_spec usrdef_surface_absgrd usrdef_surface relgrd usrdef_surface data usrdef_nstgrd_spec usrdef_surface_nstgrd_abs usrdef_surface_nstgrd_rel 3 The routine usrdef_parallel has been removed The three parameters which could previously be defined in this routines are now defined as follows parallel_set The parameter is automatically set to TRUE if the com piler option DMPI is added in options cpp and to FALSE otherwise In that case MPI will be initialised and finalised For a parallel run the parameter nprocs must take a value greater than 1 shared_read Shared reading by all processes is now taken as TRUE This means that the parameter and its opposite noshared_read are longer needed
20. cells may be temporarily set to dry depending on the type of mask function at the initial time usrdef_2dobc_data If residual non harmonic elevation data are used as open boundary forcing the previous change in mean sea level must be taken into ac count Test cases Two new inundation test case have been implemented 46 flood2d Flooding and drying inside a channel The following experiments are defined A Flooding drying of land masses over a sloping bottom by an oscil lating tidal current No dynamic mask is used B The same as experiment A now using a dynamic mask C Flooding drying over an obstacle located in the middle of the chan nel by an oscillating tidal current No dynamic mask is used D The same as experiment C now using a dynamic mask flood3d Flooding and drying inside a rectangular basin An oscillating current enters the basin on the western side All other sides of the basin are closed All experiments use a mask function A Flooding drying over a spherical hill in the middle of the basin A Flooding drying over a double peaked hill in the middle of the basin C Flooding drying over a spherical atoll The inner side of the atoll is taken as dry at the initial time D The same as experiment C now in depth averaged mode Test case parameters in particular for testing mass conservation are defined for each experiment Furt
21. for mean water depths has now been implemented Default is zero but this value can be reset by the user When a mean water depth takes the value 65 of this flag the corresponding grid points are considered as permanent land cells otherwise the point is taken as wet or temporarily dry Land topography is then represented by negative mean water depths Land flooding can then be simulated without changing the reference mean water level Drag coefficient Two changes are made with respect to the calculation of the bottom drag coefficient The expression used in the code is derived from the logarithmic profile of the current in the bottom boundary layer Uxb Z ju z gt 37 K Zo where u2 7 p and zo the bottom roughness length From one obtains Th pC lul pCa uz vg 38 with K Ca a 39 and z is the height of the lowest C node above the sea bed 1 The log layer approximation is only valid if z gt gt zo This may create a problem in case the grid cell is drying and z gt zo Ca co To prevent too large drag coefficients a lower limit has been imposed of the form 2 20 gt Emin In the previous versions this limit was set internally to a value of 1 5 In the current version min is user defined Default value is 2 yielding a maximum of 0 333 for Cy 2 When COHERENS is applied in depth averaged mode iopt_grid_nodim 2 the drag law was previously applied with z H 2 where H is the tota
22. foreseen in a future version For this reason the pointer arrays nodeatu and nodeatv have been re defined with an extra vertical dimension In this way a dynamic 3 D mask can be implemented in the future to simulate e g the flow over a thin dam which extends above below the water surface at low high tide momentum fluxes at corner points In analogy with the pointer arrays at velocity nodes a new 3 D array nodea tuv has been created at corner nodes replacing the pointer arrays nodeate nodeatx nodeaty in the previous versions These nodes are used in the pro gram for the evaluation of the cross stream advective and diffusive fluxes for horizontal momentum and are located at the intersection of two U and two V interfaces Main difference with the previous version s is that a corner node is declared as wet if at least one of the adjacent U nodes and one of 33 the adjacent V nodes is wet see below The new definition is of importance near ragged coastal and open sea boundaries The concept of X and Y nodes is no longer retained except at open boundaries see below open boundaries at corner nodes The previous definitions are changed as follows e A corner node is defined as a X node open boundary if both neighbour ing U nodes are open boundaries or one of the neighbouring U nodes is an open boundary and the other a land boundary e A corner node is defined as a Y node open boundary if both neighbour ing V nodes are
23. n0 3 File sedids f90 Type Module Purpose Definitions of key ids for sediment variables The key id name has the form iarr x where x is the FORTRAN name of the variable 34 4 3 Sediment model parameters REAL PARAMETER beta_sed_max 1 5 beta_sed_min 1 0 INTEGER maxitbartnicki 100 nf 1 nrquad_sed 7 nrquad_wav 10 REAL alpha_VR 2 19 a_leussen 0 02 beta_sed_cst 1 0 amp amp b_leussen 0 0024 cgel 0 0 cmax 0 65 coef_bed grad 1 3 amp amp floc VR max 10 0 floc_VRmin 1 0 height c cst 0 01 amp amp maxRV 0 1 minRV 1 0E 05 n_ RichZaki 4 6 parth_coef 1 0E 08 amp amp parth_exp 1 0 wu_exp 0 6 zrough_sed_cst zO_coef 30 0 File sedarrays f90 Type Module Purpose Sediment arrrays Description alpha_VR Exponent a in the flocculation equation 7 48 by 2007b 1496 CHAPTER 34 SEDIMENT REFERENCE MANUAL a_leussen Coefficient a in the 7 46 flocculation equation by Van Leussen 1994 s beta_sed_cst Constant value of the eddy diffusivity to viscosity ratio as used in equation if iopt_sed_beta 2 beta_sed max Maximum value for the ratio of sediment diffusivity to eddy viscosity beta_sed_min Minimum value for the ratio 6 of sediment diffusivity to eddy viscosity b_leussen Coefficient b in the 7 46 flocculation equation by Van Leussen 1994 s cgel Volumetric gelling concentration used for hindered set tling of mud and flocculat
24. nodes on the model grid in which case output is taken at the node given by cnode Allowed values are C default and W SUBROUTINE define out3d_vals outdat i j k novars outvars ivarid node INTEGER INTENT IN i j K novars REAL INTENT OUT DIMENSION novars outdat CHARACTER LEN lennode OPTIONAL DIMENSION movars node INTEGER INTENTCIN OPTIONAL DIMENSION novars ivarid TYPE VariableAtts INTENTCIN OPTIONAL DIMENSION novars outvars which defines 3 D output data The arguments have the following meaning 30 outdat Returned output values i j k Local grid index in the X direction Local grid index in the Y direction Vertical grid index novars Number of 3 D output data outvars Attributes of the output variables Must be present only when ivarid is not present ivarid Key ids of the output variables Must be present only if outvars is not present node node attributes if outvars is not present Should be defined only for 3 D variables located at W nodes on the model grid in which case output is taken at the node given by cnode Allowed values are C default and W other bug The interfaces of the routines in Open Boundary_Data_Prof f90 have been modified Details are found in the model code The new and already existing algorithms for the baroclinic current are defined in open_boundary_conds_3d and removed from current_corr The relaxation condition
25. of the implicit scheme involves two iteration loops The inner loop solves the linear system for and is controlled by the routines of the PETSc library The maximum number of iterations of the outer loop needed for convergence of the h3 factor is set by the user with the parameter maxitsimp open boundary condition For reasons of compatibility with the implicit scheme the open boundary condition using the characteristic method with a zero normal gradient has been rewritten without the term on the right hand side arising from the continuity condition This means that the previous formulation at U open boundaries OR c Oh f Ji Fah uv Zv fV HF 751 Ton 35 becomes ORY Re AV HL 01 71 36 A similar change is made at V nodes A more appropriate implicit version of this condition will be implemented in a future model version Model code routines The following files have been created or modified 52 Hydrodynamic_Equations F 90 hydrodynamic_equation Main routines for solving the 2 D and or 3 D momentum and continuity equations using ei ther the explicit or implicit scheme current_pred Solve the 3 D momentum equations for the predicted currents using either the explicit or implicit step 2 of the algorithm method current_2d Solve the 2 D momentum equations In case of a 3 D grid iopt_grid_nodim 3 the routine is called only as part of the mode splitting algo rithm explicit method
26. pdf Implementations inundation schemes The existing drying wetting scheme has been extended by implementing so called mask functions They are defined as criteria for masking grid cells according to their condition dry or wet When the criterion evaluates as TRUE at a particular grid cell the mask function will mask in the cell Hence they will be considered for the solution of the hydrodynamic equations On the other hand if grid cells become dry the mask criterion will mask out such grid cells and updates of quantitites defined at these cells will be suspended The process is repeated at the start of each predictor time step Eleven mask functions are defined and can be used in combined form They can be divided in four groups The first group compares the water depths of a cell and its neighbours with a threshold value dn and is composed of the following six criteria max H j Hi 15 Hi i j Hij 1 Hij 1 lt din 8 min H j Wi 1j Hii j Hij 1 Hij lt den 9 41 mean A j Hi 1 5 Hj495 Hij 1 Haga lt din 10 max Hi 15 Hizi j Hij 1 Hij 1 lt din 11 min H 1 5 Hiig Hij 1 Hij lt dina 12 mean 9 4 Hipi j Hij 1 Hij lt dia 13 where mean denotes an averaged value excluding land cells which are permanently dry A second group of criteria verifies the status of the current grid cell and or its neighbours The status is defined by th
27. set up in two modes depending on different choices for the defruns file In the first case the defruns file located in the test case directory is taken and the setup is as before In the second case instructions for installation are the same as before except that the following copy has to be made in the working directory cp cifruns defruns The simulation of a test case now proceeds in two phases 1 The test is run with the cold_start option set to TRUE and the CIF status in defruns set to W The program creates a CIF file and a series of forcing files in COHERENS standard format 2A small change is seen in output parameters of test cases rhone and bohai due to a small bug in the program This will be repaired in the next version 2 The test is run again with the CIF status set to R and input forcing using the previously written standard files Model code The following changes are made with respect to version V2 0 1 Model_Initialisation F 90 e The switch parallel_set is defined in coherens _start e Routine read_cif_mod_params is called from initialise model if the CIF status is set to R e Routine simulation_start which reads the defruns file is completely re written Error coding is provided 2 Model_Parameters f90 The following routines are added assign_cif_vars Converts the data string s in the CIF input line to the appropriate numerical logical or string for mat read_cif_mod_params G
28. svn path http svn mumm ac be svn root coherens versions V2 1 1 Date of release 2011 01 07 File code coherensV210_1149 tar gz File manual in preparation Implementations A verification procedure has been created through an external shell script for testing new developments or to compare different versions of the code The script is documented elsewhere and is not considered as a new model development However since the script uses the results of all test cases a few modifications of the model code and in the setup of the test cases were necessary 1 A new CPP compiler switch VERIF together with a new model switch iopt_verif have been created If the compiler option is inserted in op tions cpp the verification switch iopt verif is set to 1 Otherwise its value is 0 Its value cannot be re defined by the user 2 Once the verification switch is activated the following parameters for time series output are reset if necessary e Only one output set is allowed i e nosetstsr 1 e All output files are in netCDF format e Names of output variables must be different from the names of the test parameters defined in Usrdef_Output f90 17 e User output files must keep their default attributes e The output grid must extend over the whole domain 3 A few other changes and corrections have been made further discussed below Test cases The setup of the test case parameters defined in Usrdef_Output f90 is changed as foll
29. 0 blocks 5 and 6 no harmonic output iopt_out_anal 0 e On the other hand a block may be non empty even when the appropri ate switch is zero In that case the input lines are read by the program but no assignment is made CIF special characters The CIF utility uses the following special characters separates the data strings on an input line separates the string varname from the data strings Must be on all input lines except those starting with a or character I indicates the start of a comment All characters on the input line at and beyond this character are ignored 44 block separator Must always be the first character on a separator line These special characters cannot be used in the string varname or in a data string representing a string variable For this reason the character between seconds and milliseconds in a date time string is now replaced by a order of definitions Each scalar or array parameter must be defined within its specific block However the order of definition within a block is in principle irrelevant However if the number of data on an input line depends on a physical size dimension parameter defined by another model parameter this size parameter must appear on a previous data line Test cases The test case results are exactly the same as in the previous version V2 0P To illustrate the use of the CIF utility the test case runs can be
30. 0 Program unit with all routines related to structures and discharges See Section 30 22 in the Reference Manual A list of most relevant changes in existing source files is given below 1 Density_Equations F 90 salinity_equation Routines update_dischr_data and scalar_discharge defined in Structures_Model f90 are called in case the discharge module for salinity is acti vated temperature_equation Routines update_dischr_data and scalar_discharge defined in Structures_Model f90 are called in case the discharge module for salinity is acti vated 2 Grid_Arrays F 90 A new routine update_pointer_arrays is created which sets currents to zero at blocking velocity interfaces The routine is called by the weirs barriers and inundation modules 83 10 Harmonic_Analysis f90 The first dimensions of Istatprocs have been interchanges i e Istat procs nprocs maxstats nosetsanal becomes Istatprocs maxstats nprocs nosetsanal Hydrodynamic_Equations F 90 A number of new calls defined in Structures_Model f90 are imple mented in the following routines depending on whether the weirs barriers or discharge module has been activated for the specific routine current_pred momentum_discharge_3d weirs_loss weirs_sink current_2d momentum _discharge_2d weirs_loss weir_sink surface_elevation surface_discharge Inundation_Schemes f90 Routine update_pointer_arrays is called in mask_function Model_Finalisation f
31. 0 Type Subroutine Purpose Sediment component of the baroclinic pressure gradient second order method Reference Sections 5 3 13 1 and equation 7 22 Arguments zcoord Z coordinate array at the W nodes m cdir Direction of the gradient X Y Calling procedures baroclinic_gradient baroclinic_gradient_sed_z SUBROUTINE barcolinic_gradient_sed_z sigint kint cdir CHARACTER LEN 1 cdir INTEGER INTENTCIN DIMENSION ncloc nrloc 2 nz 1 2 Kint REAL INTENTCIN DIMENSION ncloc nrloc 2 nz 1 2 sigint File Sediment_Density_Equations F 90 Type Subroutine Purpose Sediment component of the baroclinic density gradient Z level method 1468 CHAPTER 34 SEDIMENT REFERENCE MANUAL Reference Sections and equation Arguments sigint Interpolated sigma coordinates kint Counter for the interpolated coordinates cdir Direction of the gradient X Y Calling procedures baroclinic_gradient buoyancy _frequency_sed SUBROUTINE buoyancy frequency _sed bgrad REAL INTENTCINOUT DIMENSION O ncloct t1 0O nrloct1 2 nz File Sediment_Density_Equations F 90 Type Subroutine Purpose Sediment contribution to the squared buoyancy frequency N Reference Equation 7 20 Arguments bgrad Non averaged buoyancy gradient Calling procedures buoyancy frequency equation_of_state_sed SUBROUTINE equation_of_state_sed File Sediment_Density_Equations F 90 Type Subroutine bgrad 1
32. 731 Dinna T 39 24 where the surface slope is taken at the previous iteration level The equations are solved as in the previous versions of COHERENS The predicted currents u v are obtained from u 0 after applying an implicit correction for the Coriolis terms The free surface correction is defined as eater i Cee 25 The corrected depth integrated current is then obtained by adding an implicit correction term _ Atg Oc Uy Litt U Art itteu Ts gt 26 hy O amp oe 1a Atg OC n l it 1 P n litjy I VS 2 V V hy OB 27 50 where U V are the depth integrated values of u v The values for follow from inversion of the elliptic equation that arises by introducing 26 27 into the 2 D continuity equation Gia ae l 1 c purTp c pVIyp AE t ar a AG HEV 1 Athtg He ee Ath g ar AC 2 At 1 AC 1 AY 1 my 88 G0 5 S 28 Equation 5 36 can be written as a linear system of equations with non zero values only on the diagonal and five sub diagonals AisGag BigG ga CaGyg Duky t Egg F 29 Since the decomposition 26 27 can no longer be used at open boun daries U or V are firstly written as a sum of explicit and implicit involving terms which are then substituted into the continuity equa tion Details of this procedure are given in the User Documentation The free surface elevation is updated i Cue C 30
33. 90 The energy losses are written in write_phsics to the final condition file for weirs barriers Model_Initialisation f90 If the weirs barrier unit has been activated two additional vector ar rays are read in read_phsics from the initial condition file wbarelossu energy losses at U nodes wharelossv energy losses at V nodes Nested_Grids F 90 The first two dimensions of the arrays indexnstc indexnstu indexnstv indexnstuv have been interchanged array_interp f90 Bugs have been corrected in Cvar_at_U and VWvar_at_U grid f90 e The arrays klevbotatu klevbotatv klevsuratu klevsuratv have be come redundant and removed at all places in the source code e Parameters nobulocl nobvlocl nobxlocl nobylocl have be re named to respectively nobuloc_ext nobvloc_ext nobxloc_ext noby loc_ext for transparancy 84 e Parameters nobuloc2 nobvloc2 nobxloc2 nobyloc2 are not used in the code and have therefore been removed 11 inout_paral f90 combine_write_stats_glb This generic routine replaces and extends the old routine combine _write_obc The routine com bines the elements of a real global array whose elements in the first dimension are defined at different domains on the parallel grid and writes the resulting array to the appropriate output file For a syntax description see Section 1 11 combine_write_stats_loc This generic routine replaces the old routine combine_write_stats The routine combines
34. Arrays F 90 A new routine store_depths_old for storing the old water depths has been created The routine is called before mask_function from coherens_main at the start of the predictor step depths f90 When the total water depth is reset to its minimum value artificial water is added to the water column This means that mass conservation has been violated The program stores this depth deficit at each time step into the depth error array deptotatc_err WHERE depmeanatc 1 ncloc 1 nrloc GT 0 0 AND amp amp deptotatc 1 ncloc 1 nrloc LT dmin_fld deptotatc_err deptotatc_err deptotatc 1 ncloc 1 nrloc amp amp dmin_fld END WHERE Note that the array is always positive and can only increase in time gridpars f90 The parameters nowetatc nowetatcloc nowetu nowetuloc nowetv nowetvloc nowetuv nowetuvioc have been removed The following parameters are added noseaatc Number of sea dry or wet but excluding permanent land points C node points on the global domain noseaatcloc Number of sea dry or wet but excluding permanent land points C node points on the local domain nowetatc Number of currently active wet C node points on the global domain nowetatcloc Number of currently active wet C node points on the local domain paralpars f90 The arrays nowetcprocs nowetuprocs nowetvprocs nowetuvprocs have been removed physpars f90 The following parameters have been added dthd_fld User defined tresho
35. Chapter 34 Sediment reference manual 34 1 External routines 34 1 1 Allocate Sediment _Arrays f90 allocate_sed_arrays SUBROUTINE allocate_sed_arrays File Allocate_Sediment_Arrays f90 Type Subroutine Purpose Allocate sediment arrays Arguments None Calling procedures initialise_model deallocate_sed_arrays SUBROUTINE deallocate_sed_arrays File Allocate_Sediment_Arrays f90 1463 1464 CHAPTER 34 SEDIMENT REFERENCE MANUAL Type Subroutine Purpose Deallocate sediment arrays Arguments None Calling procedures simulation_end 34 1 2 Sediment_Bottom_Fluxes F90 bottom _flux_sed SUBROUTINE bottom_flux_sed File Sediment_Bottom_Fluxes f90 Type Subroutine Purpose Bottom sediment flux Reference Sections and 7 7 1 Arguments None Called external procedures bottom_stress_waves Calling procedures sediment_advdiff sediment_suspendedload sediment_totalload bottom_stress_sed SUBROUTINE bottom_stress_sed File Sediment_Bottom_Fluxes f90 34 1 EXTERNAL ROUTINES 1465 Type Subroutine Purpose Bottom skin stress as used in the sediment transport module Arguments None Calling procedures sediment _equation bottom_stress_waves SUBROUTINE bottom_stress_waves CHARACTER LEN lennode INTENTCIN cnode File Sediment_Bottom_Fluxes f90 Type Subroutine Purpose Wave induced bottom stresses Arguments cnode grid node where the total stress is evaluated Ca
36. INE define_sed0d_int2d ivarid f out2d define 2 D sediment data for area integrated averaged output INTEGER INTENT IN f ivarid REAL INTENTCOUT DIMENSION ncloc nrloc out2d 1506 CHAPTER 34 SEDIMENT REFERENCE MANUAL END SUBROUTINE define_sed0Od_int2d SUBROUTINE define_sed0d_int3d ivarid f out3d define 3 D sediment data for area integrated averaged output INTEGER INTENTC IN f ivarid REAL INTENT OUT DIMENSION ncloc nrloc nz out3d END SUBROUTINE define_sedOd_int3d SUBROUTINE define_sed0d_vals ivarid f outdat define O D sediment output data INTEGER INTENTCIN f ivarid REAL INTENT OUT outdat END SUBROUTINE define_sedOd_vals SUBROUTINE define sed2d_intid ivarid i j f nzdim outid define sediment data for vertically integrated averaged output INTEGER INTENTC IN f i ivarid j nzdim REAL INTENT OUT DIMENSION nzdim outid END SUBROUTINE define_sed2d_intid SUBROUTINE define sed2d vals ivarid i j f outdat define 2 D sediment output data at a given location INTEGER INTENT IN f i ivarid j REAL INTENT OUT outdat END SUBROUTINE define_sed2d_vals SUBROUTINE define_sed3d_vals ivarid i j k f cnode outdat define 3 D output data at a given location CHARACTER LEN lennode cnode INTEGER INTENT IN f i ivarid j k REAL INTENT OUT outdat END SUBROUTINE define_sed3d_vals END MODULE sediment_output MODULE sedvars_routines attributes of sedi
37. ITSECS 3600 NOWAITSECS 0 NRECUNIT 4 NOSETSTSR 4 NOSTATSTSR 0 NOVARSTSR 9 NOSETSAVR 0 NOSTATSAVR 0 NOVARSAVR O NOSETSANAL 1 NOFREQSANAL 1 NOSTATSANAL 0 NOVARSANAL 7 MODFILES inicon 1 1 U R plumeA phsicsU 0 MODFILES modgrd 1 1 A R plumeA modgrdA 0 MODFILES 2uvobc 1 1 U R plumelA 2uvobclU MODFILES 3uvobc 1 1 A R plumelA 3uvobciA MODFILES salobc 1 1 A R plumelA salobciA MODFILES 2uvobc 2 1 U R plumelA 2uvobc2U MODFILES 3uvobc 2 1 A R plumelA 3uvobc2A MODFILES salobc 2 1 A R plumelA salobc2A v v v v v v ooo0oo0oo0oo0o0O COOCOOCO bBPeEROOOOO COO o oH aaa a a a g H m mj yy Ty g SURFACEGRIDS 1 1 0 0 1000 1000 0 0 TSRVARS 1 0 0 width Plume width km TSRVARS 2 0 0 hfront Plume length km TSRVARS 3 161 2 umvel X component of depth mean current m s Depth mean current TSRVARS 4 170 2 vmvel Y component of depth mean current m s Depth mean current TSRVARS 5 113 2 zeta Surface elevation m TSRVARS 6 162 3 uvel X component of current m s Current TSRVARS 7 171 3 vvel Y component of current m s Current TSRVARS 8 175 3 wphys Physical vertical velocity m s Physical current TSRVARS 9 204 3 sal Salinity PSU IVARSTSR IVARSTSR IVARSTSR 1 6 7 8 2 6 7 8 3 6 7 8 2 2 2 2 Il oo oO 2 2 2 14 IVARSTSR 4 1 2 3 4 5 TSR3D 1 T U plumeA_1 tsout3U T 2 TSR3D 2 T U plumeA_2 tsout3U T 2 TSR3D 3 T U plumeA 3
38. NE write_cif_vars_sed SUBROUTINE write_sedics write the initial conditions for the sediment model to a file in standard COHERENS format END SUBROUTINE write_sedics SUBROUTINE write_sed_spec write sediment specifiers particle attributes to a file in standard COHERENS format END SUBROUTINE write_sed_spec 34 5 2 Module routine interfaces MODULE check_sediments check sediment model parameters and arrays for errors CONTAINS SUBROUTINE check_sedics check initial conditions in the sediment model 34 5 INTERFACES 1505 END SUBROUTINE check_sedics SUBROUTINE check_sed_params check sediment switches and parameters END SUBROUTINE check_sed_params END MODULE check_sediments MODULE default_sediments default settings for the sediment model CONTAINS SUBROUTINE default_sedics default initial conditions in the sediment model END SUBROUTINE default_sedics SUBROUTINE default_sed_params default settings for sediment switches and parameters END SUBROUTINE default_sed_params END MODULE default_sediments MODULE reset_sediments reset sediment parameters and arrays where needed CONTAINS SUBROUTINE reset_sedics reset initial conditions in the sediment model END SUBROUTINE reset_sedics SUBROUTINE reset_sed_params reset sediment switches and parameters END SUBROUTINE reset_sed_params END MODULE reset_sediments MODULE sediment_output routines for sediment user output data CONTAINS SUBROUT
39. OUTINE median_particle_diameter File Sediment_Equations F 90 Type Subroutine Purpose Calculates the median particle diameter dso from a size distribution Arguments None Calling procedures sediment _equation sediment_advdiff SUBROUTINE sediment _advdiff File Sediment_Equations F 90 Type Subroutine Purpose Solves the advection diffusion transport equations for each size fraction Reference Section Arguments None Called external procedures bartnicki_filter bottom_flux_sed define_profobc_spec open_boundary_conds_pro ettling velocity transport_at_C 4d1 transport_at_C _4d2 date_nest_data_prof update_profobc_data v 2 Calling procedures sediment equation 1474 CHAPTER 34 SEDIMENT REFERENCE MANUAL sediment_bedload SUBROUTINE sediment_bedload File Sediment_Equations F90 Type Subroutine Purpose Apply one of the formulations for bed load transport Reference Section Arguments None Called external procedures bottom _stress_waves Calling procedures sediment_equation sediment_totalload sediment_equation SUBROUTINE sediment_equation File Sediment_Equations F90 Type Subroutine Purpose Main sediment routine Reference Chapter Arguments None 34 1 EXTERNAL ROUTINES 1475 Called external procedures pore IE Calling procedures initialise_model sediment _suspendedload SUBROUTINE sediment_suspendedload File Sediment_Equations F 90 Ty
40. _ARCH is explained in the PETSc manual 59 Either 35 or 36 must be uncommented without further modifica tion depending on the compiler In case of a gfortran compiler only CPPIFLAGS needs to be defined while for an intel compiler only line 36 needs to be uncommented Lines 39 and 42 must be uncommented without further modifica tion The procedure for setting up the model for an implicit application is as follows e Install the PETSc library using the instructions given in the PETSc installation manual e Add the DPETSC compiler option and uncomment change the lines in coherensflags cmp as explained above e Set the switch iopt_hydro_impl to 1 and where needed other parame ters listed in the section model setup in usrdef_mod_params installation Test cases and user application can be installed on a working directory with the shell script install_test An updated version is now available The script is now used with optional arguments install test t test_name u test_dir o flag file where t Installs the pre defined test case test_name e g cones u Installs a user defined application The setup Usrdef_ and defruns files are copied from directory test_dir to the directory where install_test is executed 0 Copies the file fag file with the user specific compilation instruc tions see above to the file coherensflags cmp in the working di rectory e The link COHERENS must be defined before u
41. actions Type of mode for applying the sediment transport model 1 bedload transport only computed by a formula which is determined by iopt_sed_bedeq 2 suspended load transport only computed with the advection diffusion equation 3 bedload and suspended transport i e option 1 and 2 together 4 total load transport computed with a formula which is determined by iopt_sed_toteq Type of grid mode for the sediment transport 2 depth averaged transport 3 3 D sediment transport Bed slope effects for bed load 0 bed slope effects disabled 1 bed slope effect effects enabled and using the Koch amp Flokstra 1981 formulation for bed load Type of roughness length formulation for sediments 1 the same as for the hydrodynamics 2 used defined constant roughness length zrough_sed_cst 3 user defined spatially non uniform value Selects type of method for the critical shear stress 1 user defined value for each fraction Note that iopt sed_nodim is always set to 2 if iopt_grid_nodim 2 34 4 SEDIMENT MODEL VARIABLES 1501 iopt_sed_toteq iopt_sed_type iopt_sed_vadv 2 3 4 95 equation 731 Soulsby amp Whitehouse 1997 equation 7 32 2000 equation 733 Type of method for total load transport 1 Ww N 4 5 Engelund amp Hansen 1967 The precise form is also determined by the switch iopt_sed_eha Ackers amp White 1973 Madsen amp Grant 1976
42. ad and write calls for namelist files are removed in initialise_model e Namelist definitions are removed in modules gridpars iopars paralpars physpars switches timepars turbpars 4 The definition of the parameter gacc_ref in the previous versions caused a conflict with the CIF utility A new parameter gacc_mean has been defined which has the same meaning as gacc_ref as in the previous versions e If gacc_ref is defined gacc_mean gacc_ref e If gacc_ref is undefined and the grid is Cartesian gacc_mean is defined by the geodesic formula at the latitude given by dlat_ref e If gacc_ref is undefined and the grid is spherical gacc_mean is defined by the geodesic formula applied at each C node point and averaged over the physical domain In this way the parameter gacc_ref can be written to the CIF while retaining its initial setup value 5 A small discrepancy was discovered when test cases rhone and bohai are run without and with CIF This has been removed by making a small correction in the definitions of the model grid i e replacing fractions by numerical values 6 A correction has to be made in the setup of all test cases so that the test cases can be run without and with CIF The code line cold_start TRUE is changed to IF ciffiles icif_model status EQ W cold_start TRUE 19 in the usrdef_init_params routine for all test cases A bug was found in the nesting procedure for baroclinic currents The
43. adient open boundary condition in test case rhone has been replaced by the Orlanski condition Compatibility with previous versions Instal lation and compilation have been changed with respect to the previous Version 2 3 The switches iopt_mode_2D and iopt_mode_3D are no longer user defined The type of current field is now defined with the new switch iopt_curr see above All other aspects of user setup are the same as previous Note that t he results may become slightly different 61 62 Version V2 4 1 Coherens Version V2 4 1 previous release V2 4 Revision 469 svn path http svn mumm ac be svn root coherens versions V2 4 1 Date of release 2012 05 30 File code coherensV2 4 1 tar gz File manual manualV2 4 pdf Implementations A CPU performance study was conducted showing that some of the model grid interpolations in array_interp f90 have a better CPU performance using 2 D masks and weight functions The type of interpolation is defined with the switch iopt_structs which has now the following purpose 0 The 3 D mask and weighting functions are replaced by 2 D versions in some grid interpolation routines This is the default value 1 Grid interpolation is performed as before Since the structure module has not yet been implemented it is recommended to keep the default value Model code The switch iopt_structs is introduced in the following interpolation routines defined in array_interp
44. arameter d in P S Burchard amp Bolding 2002 vertical grid trans formation 4 26 Parameter d in pa Burchard amp Bolding 2002 vertical grid trans formation 4 26 1 5 Parameter herit in Song amp Haidvogel Song amp Haidvogel Haidvogell 1994 1994 vertical grid trans formation 0 1 n a in the 1991 vertical grid transfor mations 4 23 and Ea 0 0 ee a in the Davies amp Jones 1991 vertical grid transfor mations 4 23 and ae 0 1 Parameter eS in the Song amp Haidvogel 1994 vertical grid trans formation 8 0 Test cases No new test cases have been defined for this release Compatibility with previous versions This version is compatible with previous versions without changes 79 80 Version V2 6 Coherens Version V2 6 previous release V2 5 1 Revision 683 svn path http svn mumm ac be svn root coherens versions V2 6 Date of release 2014 03 13 Code coherensV2 6 tar gz User documentation User_Documentation_V2 6 pdf Reference manual Reference Manual_V2 6 pdf Implementations Modules for hydraulic structures and discharges have been installed within this version of the code A description can be found in Chapter 6 of the User Documentation New features are e Dry cells which can be taken as permanently dry during the simulation e Thin dams which are defined as infinitely thin vertical walls They are located at velocity nodes and prohibit flow excha
45. arid is not present ivarid Key ids of the output variables Must be present only if outvars is not present oopt Operator attributes selecting the type of output if outvars is not present Default is oopt_null 29 SUBROUTINE define_out2d_vals outdat i j novars outvars ivarid oopt amp amp klev dep node INTEGER INTENT IN i j novars REAL INTENTC OUT DIMENSION novars outdat CHARACTER LEN lennode OPTIONAL DIMENSION mnovars node INTEGER INTENT IN OPTIONAL DIMENSION novars ivarid klev oopt REAL INTENTCIN OPTIONAL DIMENSION novars dep TYPE VariableAtts INTENTCIN OPTIONAL DIMENSION novars outvars which defines 2 D output data The arguments have the following meaning outdat Returned output values i Local grid index in the X direction j Local grid index in the Y direction novars Number of 2 D output data outvars Attributes of the output variables Must be present only when ivarid is not present ivarid Key ids of the output variables Must be present only if outvars is not present oopt Operator attributes selecting the type of output if outvars is not present Default is oopt null klev klev attributes if outvars is not present and the corresponding oopt value equals oopt_klev dep dep attributes if outvars is not present and the corresponding oopt value equals oopt_dep node node attributes if outvars is not present Should be defined only for 3 D variables located at W
46. be supplied by the user Its value must then be defined in the approriate usrdef_ _vals routine with the appropriate index in the output data vector For example if X is a user defined 2 D variable and defined as the second 2 D variable in tsrvars its output value is defined in usrdef_tsr2d_vals using out2ddat 2 X i j open boundary conditions The routine usrdef_profobc_spec is called with different arguments SUBROUTINE usrdef_profobc_spec iddesc itypobu itypobv iprofobu amp amp iprofobv iprofrlx noprofsd indexprof amp amp indexvar novars nofiles INTEGER INTENTC IN iddesc nofiles novars INTEGER INTENT INOUT DIMENSION 2 nofiles noprofsd INTEGER INTENT OUT DIMENSION nobu itypobu INTEGER INTENT OUT DIMENSION nobv itypobv INTEGER INTENT INOUT DIMENSION nobu novars iprofobu INTEGER INTENT INOUT DIMENSION nobv novars iprofobv INTEGER INTENT INOUT DIMENSION novars nobutnobv 2 nofiles indexprof INTEGER INTENTCINOUT DIMENSION novars nobu nobv 2 nofiles indexvar INTEGER INTENT INOUT DIMENSION norlxzones iprofrlx The arguments have the same meaning as before except that e Since novars number of variables in case of multi variable model arrays equals 1 in the current implementation the new second dimension for iprofobu and iprofobv can be omitted e The previous argument novarsd has been removed e Argument iobctype is replaced by indexvar and should not be
47. culated in the same way as for an internal node Otherwise if i j 1 j is an interior U node then the zero gradient Otherwise the flux is set to zero i e Diz 0 relaxation condition for advection An optional relaxation scheme has been implemented which reduces the im pact of advection within a user defined distance from the open boundaries In that case the advective terms are multiplied by the relaxation factor Qor min d dmaz 1 7 where d is the distance to the nearest open boundary Experiments showed that with an appropriate choice of the maximum relaxation distance dmaz the unstable vortex motions no longer propagate into the domain The scheme replaces the previous scheme selected by iopt_obc_int which has been removed from the code interpolation routines The routines in array_interp f90 for interpolating a model array from one grid node to another one have been modified to take account of 3 D masks and coastal boundaries at velocity nodes This is further discussed below Model code pointer arrays The following changes have been made e The pointer arrays nodeatu and nodeatv have an extra vertical dimen sion 35 e The arrays nodeatx nodeaty nodeate have been removed e New 3 D pointer arrays nodeatuw nodeatvw and nodeatuv are intro duced The pointer array nodeatc at C nodes has the same meaning as before The arrays are declared with the following shapes REAL DIMENSION 1 nhal
48. def_sed_params SUBROUTINE usrdef_sedics define intitial conditions for the sediment model END SUBROUTINE usrdef_sedics SUBROUTINE usrdef_sed_spec define particle properties in the sediment model END SUBROUTINE usrdef_sed_spec 1508 COHERENS A Coupled Hydrodynamical Ecological Model for Regional and Shelf Seas Release Notes Last update August 2013 Patrick Luyten Royal Belgian Institute of Natural Sciences RBINS MUMM Gulledelle 100 1200 Brussels Belgium museum Version V2 0 Coherens Version V2 0 previous release V1 release_8 4 Revision 113 svn path http svn mumm ac be svn root coherens versions V2 0 Date of release 2010 10 04 File code coherensV20_r109 tar gz File manual manualV20_r124 pdf Description This version represents a full update of the first version of coherens released in April 2000 more than ten years ago Most important changes are 1 2 The code is re written in FORTRAN 90 Implementation of parallelisation using the MPI message MPI library available as an option Options for curvilinear grids in the horizontal and generalised a coordinates in the vertical One way nesting Standard formats including netCDF for forcing and user defined out put Usrdef files where the user can define all model setup Improvement of numerical schemes e baroclinic pressure gradients e additional types of open and surface boundary c
49. defined in the current implementation 27 e The type of open boundary condition is selected at each open boundary point by the value of itypobu or itypobv When the routine is called for baroclinic currents iddesc io_3uvobc their meaning is modified as follows First order zero gradient condition or specified profile Second order zero gradient condition Local solution Radiation condition using the baroclinic internal wave speed Be OS NOS Ae Orlanski condition A more detailed explanation will be presented in future release notes Routine is usrdef_profobc_data is now declared as follows SUBROUTINE usrdef_profobc_data iddesc ifil ciodatetime psiprofdat numprofs CHARACTER LEN lentime INTENTCINOUT ciodatetime INTEGER INTENT IN iddesc ifil numprofs REAL INTENTCINOUT DIMENSION numprofs nz psiprofdat The following changes have been made e The arguments nzdat and numvars have been removed e The third dimension of psiprofdat has been removed e The code in the routine must contain the statement USE gridpars The relaxation condition at open boundaries for the 2 D mode is de fined by the new parameter ntobcrlx which equals T Agp Default is zero in which case no relaxation is applied The parameter is defined either in usrdef_mod_params or in the CIF Test cases No changes are made to the definition of the test cases The output test parameters are mostly the same as in the previous version Most
50. dures e Set the values by default in default_mode_params ciffiles icif_sed status 0 ciffiles icif_sed filename e The user can be activate the file by resetting the status and even tually the filename atribute in usrdef_mod_params ciffiles icif_sed status ciffiles icif_sed filename e Since the two attributes are considered as general model parame ters their values should be included in the model CIF This means that the following code has to be added in assign_cif_vars CASE CIFFILES CALL check_cif_lbound_novars iddesc numvars 3 CALL conv_from_chars cvals 1 icif iddesc 1 CALL conv_from_chars cvals 2 ciffiles icif status iddesc 2 CALL conv_from_chars cvals 3 ciffiles icif filename iddesc 3 and in write_cif_mod_params icif_ DO icif 3 MaxCIFTypes CALL conv_to_chars cvals 1 icif cvals 2 ciffiles icif status cvals 3 ciffiles icif filename CALL write_cif_line iddesc cvals 1 3 CIFFILES ENDDO icif_ 11 COLD_START F LEVPROCS_INI LEVPROCS_RUN Create a new subroutine assign_cif_vars_sed for converting the CIF data strings to the values of the sediment parameters The routine can be constructed using the formats given in assign_cif_vars Insert the following routine call at the beginning of routine assign_cif_vars IF iddesc EQ icif_sed CALL assign _cif_vars_sed Read the new CIF at the appropriate place in routine initialise_model
51. e C nodes m s Bed shear stress due to wave effects at the U nodes m s Bed shear stress due to wave effects at the V nodes m s The vertical layer cell for applying the bottom sedi ment flux Equilibrium sediment concentration ce per fraction m m Near bed reference sediment concentration ca at height_c per fraction m m Volumetric sediment concentration sum over all frac tions m m Volumetric sediment concentration c per sediment fraction m m Particle diameter d m Median grain size by mass dso at the sea bed m The elevation a at which the near bed boundary con ditions is applied per fraction m Storage array for sediment concentrations in case the open boundary conditions at the U nodes require the solution of a differential equation in time Storage array for sediment concentrations in case the open boundary conditions at the V nodes require the solution of a differential equation in time Bed load qo per sediment fraction in the X direction at the U nodes m s 1494 qbedatv qsusatc qtotatu qtotatv rhos sedsrcuser tau_cr tau_cr_cst t_equil ubstresatc_sed ubstresatu_sed ubstresatv_sed vbstresatc_sed vbstresatu_sed vbstresatv_sed vdiffcoef_sed wfall WS CS zroughatc_sed zroughatu_sed zroughatv_sed CHAPTER 34 SEDIMENT REFERENCE MANUAL Bed load q per sediment fraction in the Y direction at the V nodes m s Suspended load qs per sediment frac
52. e function M which eval uates to 0 at dry and 1 at sea cells The following criteria used to prevent the formation of isolated dry or wet cells have been implemented max Ni 1 j Niri j Nij 1 Nij 1 0 14 min Ni i j Niti j Nij Nij 0 15 The third group is a variant of the previous one and checks in addition whether the total water depth of the grid cell is lower than the threshold value max Ni 15 Niti j Nij Nij 0 and Hij lt din 16 min Ni 1 5 Nisi j Mj Mij 0 and Hi lt din 17 The last scheme is intended for channel flows and overflowing dykes The criterion uses the total and mean water depths at the grid cell and its neigh bours min h 1 4 1 i41 Ay41 gt hi 18 If one or more of the above criteria evaluates as TRUE the grid cell is temporarily set to dry In that case the surrounding velocity nodes are blocked and the currents set to zero The same criteria are verified at the next 3 D time step The cell will be come wet again as soon as the combined criterion evaluates to FALSE The above criteria can be in applied in combination This means that if several criteria have been activated by the user the cell becomes dry if at least one of them turns TRUE The cell becomes wet again if all of them evaluate to FALSE In analogy with the existing algorithm in COHERENS a number of terms in the momentum equations are multiplied by the drying factor a and a minimum water dept
53. ed2d_intid ivarid i j f nzdim out1d INTEGER INTENT IN f i ivarid j nzdim REAL INTENT OUT DIMENSION nzdim outid File sediment_output f90 Type Module subroutine Purpose Define sediment data for vertically integrated averaged output Arguments ivarid Variable key id i X index of the output location j Y index of the output location f Fraction number if needed nzdim Vertical size of the profile outld Returned vertical profile data Calling procedures define_out2d_vals define_sed2d_vals SUBROUTINE define_out2d_vals ivarid i j f outdat INTEGER INTENT IN f i ivarid j REAL INTENT OUT outdat File sediment_output f90 Type Module subroutine Purpose Define 2 D sediment output data at a given location Arguments 34 2 MODULE ROUTINES 1487 ivarid Variable key id i X index of the output location j Y index of the output location f Fraction number if needed outdat Returned output data Calling procedures define_out2d_vals define sed3d_vals SUBROUTINE define_sed3d_vals ivarid i j k f cnode outdat CHARACTER LEN lennode INTENTCIN cnode INTEGER INTENT IN f i ivarid j k REAL INTENT OUT outdat File sediment_output f90 Type Module subroutine Purpose Define 3 D output data at a given location Arguments ivarid Variable key id i X index of the output location j Y index of the output location k vertical index of the output location f Fraction number if needed cn
54. el After an explicit predictor step velocities are corrected with the im plicit free surface correction in the corrector step In this method the free surface correction follows from the inversion of the elliptic free surface cor rection equation obtained from the 2 D continuity equation Because of the non linear dependency of the equations on the free surface height through the h3 term an iterative scheme has been implemented in addition For clarity a new superscript is introduced indicating the iteration level As such y t 1 denotes the value of y at the new time level n 1 obtained after performing iteration it The procedure consists of the following steps 49 At the first iteration and hee h Ao Using the notations defined in Chapter 5 of the User Manual the momentum equations are solved at the predictor step using the latest values for h3 and Lit Aga hu h3 At yriu RYAY fu Am hu Ano u uP AMA v AXAS ba Alt 1 Oa Alu n l it nurn lyit hs ANG n u h3 hy HEP EP Diana 7h Dinno Th 23 0 Dmi U 1 0 Dmv u AP poht 1 hT hio he At UP ALR u AAS O A 5 1 ba Anlo fu Ani v Ano v uU vpu hih prtiiit Avcntiit 0 Dmv 1 0 Pmw v 92 us he OB AiP pohs HFS FS Diana
55. elds parameter for Engelund amp Hansen formula mask Mask to exclude dry points Calling procedures sediment_suspendedload sediment_totalload 34 1 5 Sediment_Finalisation f90 write_sedics SUBROUTINE write_sedics File Sediment_Finalisation f90 Type Subroutine Purpose Write the initial conditions for sediments to a file in standard COHE RENS format Arguments None Calling procedures coherens_main initialise_model 1478 CHAPTER 34 SEDIMENT REFERENCE MANUAL write_sed_spec SUBROUTINE write_sed_spec File Sediment_Finalisation f90 Type Subroutine Purpose Write the particle attributes to a file in standard COHERENS format Arguments None Calling procedures initialise_model 34 1 6 Sediment _Initialisation f90 exchange_sedics SUBROUTINE exchange_sedics File Sediment_Initialisation f90 Type Subroutine Purpose Perform exchange communications for sediment arrays storing the ini tial conditions into the respective halos Arguments None Calling procedures initialise_model 34 1 EXTERNAL ROUTINES 1479 initialise_sediment_arrays SUBROUTINE initialise_sediment_arrays File Sediment_Initialisation f90 Type Subroutine Purpose Initialise a series of sediment arrays not obtained from the initial con ditions file Arguments None Calling procedures initialise_model read_sedics SUBROUTINE read_sedics File Sediment_Initialisation f90 Type Subroutine Purpose
56. eneral routines for reading a CIF file The actual data conversion is made by calling read_cif_line and assign_cif_vars write_cif_mod_params Writes the CIF for physical model setup Since copy operations between processes have been removed from the program the routine copy_mod_params has been deleted 3 cif_routines f90 This is a new file with utility routines needed for the CIF implementa tion 4 Since reading is now always performed in shared mode all copy oper ations invoked when the now deleted parameter shared_read was set to FALSE have been removed This affects the routines in the following files Grid_Arrays F 90 define_global_grid open_boundary_arrays Open_Boundary_Data_2D f90 define_2dobc_data define_2dobc_spec Open_Boundary_Data_Prof f90 define_profobc_data define_profobc_spec 9 Nested_Grids F 90 define_nstgrd_locs define_nstgrd_spec Parallel_Initialisation f90 domain_decomposition Relaxation f90 define_rlxobc_spec Surface_Boundary_Data_1D f90 define_ldsur_data define_1dsur_spec Surface_Data_1D f90 define_surface_data Surface_Grids f90 define_surface_input_grid define_surface_output_grid For the same reason the following routines are deleted from the code inout_paral f90 read copy vars paral_comms f90 copy_filepars copy_gridpars_2d copy_hgrid_2d copy_outgpars_ld copy_statlocs_ld copy_varatts_ld The default value for the status attribute of all forcing files is 0 un defined T
57. ependent macros A default empty version located in the comps directory is listed below Version COHERENScoherensflags cmp V2 4 Date 2013 04 23 10 59 00 0200 Tue 23 Apr 2013 Revision 556 OO RUNE 57 7 8 9 10 11 12 13 14 options for compilation with CPP DALLOC allocates deallocates local arrays DMPI includes MPI library DCDF includes netCDF library DVERIF enables output for verification procedure DPETSC includes PETSc library 15 16 CPPDFLAGS 17 18 19 netCDF directory path NETCDF_PATH usr local 20 21 22 netCDF library file NETCDF_LIB FILE netcdf 23 24 25 netCDF include options FCIFLAGS_NETCDF I NETCDF_PATH include 26 27 28 netCDF library options FLIBS_NETCDF L NETCDF_PATH lib 1 NETCDF_LIB FILE 29 30 31 32 PETSc directories PETSC_DIR home patrick petsc petsc 3 1 p5 PETSC_ARCH linux gfort 33 34 35 36 PETSc include options CPPIFLAGS I PETSC_DIR include I PETSC_DIR include mpiuni I PETSC_DIR PETSC_ARCH include FCIFLAGS_PETSC I PETSC_DIR include I PETSC_DIR include mpiuni I PETSC_DIR PETSC_ARCH include 37 38 39 environment variables for PETSc include PETSC_DIR conf variables 40 41 42 PETSc libary options FLIBS_PETSC PETSC_LIB T
58. f tempe rature using equation 7 24 e math library F90 gauss_squad Returns the locations and weights for numerical integration using the Gauss Legendre quadrature method poly_all_roots Finds all roots of a polynomial using Laguerre s method poly_diff Divides two polynomials vector_mag_arr_at Calculates the magnitude and or phase of a vector array at the C U or V node vector_mag_var_at Calculates the magnitude and or phase of a scalar vector at the C U or V node For technical reasons a number of routines have been moved from turbu lence_routines F90 to the following files e buoyancy_frequency to Density_Equations F90 e shear_frequency to Hydrodynamic_Equations F 90 e dissip_lim_conds dissip_to_zlmix zlmix_lim_conds zlmix_to_dissip to Tur bulence_Equations F 90 74 Calls to generic routines for sediments are made from the following routines baroclinic_gradient buoyancy frequency coherens main define_outOd_vals define_out2d_vals define_out3d_vals equation_of_sate initialise model inquire_var set_modfiles_atts set_modvars_atts simulation_end Test cases Seven additional test cases for sediments are implemented For details see Chapter 29 of the User Documentation Compatibility with previous versions Except for the changes in coherensflags cmp and the new test cases the setup and test cases of version 2 5 are backwards compatible 75 76 Version V2 5 1 Coherens Version
59. f90 Carr_at_U Carr_at_UV Carr_at_V Uarr_at_C Uarr_at_UV Uarr_at_UV Varr_at_C Varr_at_U Varr_at_UV 63 Test cases There are no changes Compatibility with previous versions Version V2 4 1 is fully compatible with the previous one V2 4 64 Version V2 4 2 Coherens Version V2 4 2 previous release V2 4 1 Revision 584 svn path http svn mumm ac be svn root coherens versions V2 4 2 Date of release 2013 04 16 Code coherensV2 4 2 tar gz User documentation User_Documentation_V2 4 2 pdf Reference manual Reference Manual_V2 4 2 pdf Implementations Compared to the previous V2 4 1 versions there are a few minor new im plementations Data flag for bathymetry In the previous versions of COHERENS mean water depths must be non negative and grid points with a zero bathymetric value are considered as permanent land points In order to allow flooding of land areas the sugges tion was made for the user to raise the mean water level by an amount say href While decreasing the sea surface elevation initally by the same amount In this way the initial total water depth remains the same whereas grid points on land with a height above the real mean water level below hye may become inundated Disadvantage of this method is that open boundary conditions such as tidal harmonics need to be adapted as well while it creates problems for performing harmonic analysis To overcome the problem a data flag
60. for 2 D open boundary data are applied in update_2dobc_data The new attributes for output variables are added to the CIF The following routines have been added intpolld_model_to_dep in grid interp F 90 tvd_limiter_Od in utility routines F90 corrections In the previous versions an error may occur when non uniform av eraging is applied for model grid arrays if either iopt_arrint_hreg or iopt_arrint_vreg are set to 1 The correction has been made in rou tine grid_spacings by defining all horizontal grid spacing arrays over a virtual extended computational domain A correction is made in the calculation of the Richardson number in turbulence_routines F90 31 Compatibility with previous versions Version V2 1 2 is compatible with tV2 1 1 except that e Additional parameters appear in the CIF new attributes of user output variables e The arrays itypobu and itypobv have a slightly different meaning if ap plied for defining the open boundary conditions for the baroclinic mode 32 Version V2 2 Coherens Version V2 2 previous release V2 1 2 Revision 367 svn path http svn mumm ac be svn root coherens versions V2 2 Date of release 2011 10 14 File code coherensV2 2 tar gz File manual manualV2 1 2 pdf Implementations 3 D masks This version has primarily been created to anticipate the implementation of structures at velocity nodes e g thins dams groines current deflection walls
61. for the first m 1 dimensions the subsequent the values for each array index of the last dimension As before the number of values does not need to be equal to the size of the last dimension unless a physical size is expected If the variable is a derived type scalar variable the data strings repre sent each component in the order as given by the TYPE definition in datatypes f90 Derived type arrays are initialised element wise i e a separate line for each array element The first data string s are the array indices of the first last array dimension The first array index for the variable modfiles is not given by a numeric value but by its file descriptor format in string format e g the string modgrid corresponds to the key id io modgrd whose numeric value is set by the program to 3 If a data string contains only blanks or equals the null string the value of the corresponding model parameter is undefined in which case its default value is retained When the CIF is written by the program all variables even defaults are defined in the data strings No error occurs if a model scalar or array parameter does not appear on any input line in which case the default value is retained The characters in the string varname are case insentitive If the CIF is written by the program the names are always given in upper case characters e When a CIF is written by the program all setup parameters are in cluded in the file The
62. h is applied at each 2 D time step In version V2 3 these minima are determined as follows 42 at C nodes Ay min Hi i Hg if min Ay gp Hg lt Heri 20 at U nodes and at V nodes other 1 By default user output files are written as netCDF N or unformatted binary U files depending on whether DCDF compiler option has been specified or not These defaults can be reset by the user in the usrdef_tsr_params routines in the appropriate Usrdef_ files 2 The status of open boundary forcing files is re set to N undefined if the appropriate switch is not set For example modfiles io_2uvobc status is set to 0 is iopt_obc_2D 0 Model code The following files have been created or modified Inundation_Schemes f90 The following routines only called if iopt_fld is non zero are defined here mask_function The routine is called by coherens_main at the start of the predictor time step and e evaluates one or more mask criteria e set a cell to dry at the C node if the criteria return TRUE e block the surrounding U and V velocity nodes e set the currents to zero at blocked velocity nodes minimum_depths Use 19 21 to set the total water depths and surface elevations to their minimum values where necessary The routine is called from water_depths drying factor Evaluates the drying factor at each 2 D time step The routines is called from surface_elevation 43 Grid_
63. he macros which can be defined by the user are on the following lines e Line 16 compiler options for the CPP previously defined in options cpp 58 The following options are implemented DALLOC Enables allocation of local arrays DMPI Allows the use of MPI routine calls DCDF Allows the use of netCDF routine calls DVERIF Used to run the test cases with the verification procedure DPETSC Allows the use of PETSc routine calls Line 19 installation path of the netCDF library The compiler then expects that the library file and the compiled netCDF modules are found in respectively the directories NETCDF_PATH lib and NETCDF_PATH include Line 22 name of the netCDF library file Line 25 compiler include options for netCDF Line 28 options for compilation with the netCDF library Line 31 directory path where the PETSc library is installed Line 32 directory where the PETSc installation for a specific fortran compiler is located Line 35 CPP include options for PETSc Line 36 FORTRAN include options for PETSc Line 39 input file with definitions of PETSc variables Line 42 options for compilation with the PETSc library The following changes are to be made by the user If DCDF is defined on line 16 lines 19 22 25 and 28 must be uncom mented and changed where necessary If DPETSC is defined on line 16 then The installation path names of PETSc must be defined on lines 31 32 The meaning of PETSC_DIR and PETSC
64. her details about the setup and output parameters of these test cases are described in the User Manual The three optos test cases are modified as follows 1 Harmonically analysed values of surface elevation and currents elliptic parameters at selected stations are defined as test case parameters 2 The drying wetting algorithm with dynamic mask has been activated 3 Each optos test is run for a one month period Disadvantage is a significantly increased computing time Compatibility with previous versions The setup of applications made with Version 2 2 can be used without modi fication with Version 2 3 AT 48 Version V2 4 Coherens Version V2 4 previous release V2 3 Revision 447 svn path http svn mumm ac be svn root coherens versions V2 4 Date of release 2012 04 03 File code coherensV2 4 tar gz File manual manualV2 4 pdf Implementations implicit algorithm A semi implicit algorithm has been implemented for the free surface term in the momentum equations With this method there is no longer need to solve the depth integrated momentum equations unless a 2 D grid has been selected The stringent CFL stability criterium is relaxed by treating the terms that provoke the barotropic mode in an implicit manner Difference with the previous explicit version is that the surface slope term is taken at the new time level Horizontal advection and diffusion are calculated as before at the old time lev
65. his means that a usrdef_ routine except usrdef_init_params is called only if the status of the corresponding forcing file is reset to R Compatibility with previous versions An application which has been set up with version V2 0 can be made com patible with V2 1 0 taking account of the following changes 1 The status attribute is set to 0 by default For application without CIF each line in defruns should end by two colons Lines in defruns are commented by putting a instead of as the first character on the input line The routines usrdef_parallel no longer exists The switch parallel_set is set automatically The switch shared_read no longer exists An eventual non default value for idmaster is defined in usrdef_mod_params 10 Recommendations for developers When a developer wants to couple the model with a new compartment e g biology sediments a separate CIF can be created to read or write the setup parameters for the specific compartment Taking the case of a new sediment module activated when the switch iopt sed gt 0 as an example this can be implemented as follows 1 Increase the value of the system parameter MaxClF Types in syspars f90 by 1 2 Create a new CIF key id e g icif_sed in iopars f90 3 The new CIF has two attributes status and filename which contrary to the model CIF are not defined in defruns but by the usual program proce
66. ion m m cmax Volumetric maximum concentration for sand at the sea bed used in equations 7 104 7 114 for total load and for calulating the reference concentration in the 1977 formula 7 124 m3 m coef_bed_grad Coefficient 3 used in the bed slope formula 7 83 of Koch amp Flokstra 1981 floc VR_max Maximum value for the flocculation factor jo in equa tion 7 48 by Van Rijn 20075 floc VR_min Minimum value for the flocculation factor in equa tion 7 48 by Van Rijn 2007b height_c_cst Constant reference height a normalised by the water depth if iopt_sed_bbc 0 maxitbartnicki Maximum number of iterations used by the bartnicki filter maxRV Maximum value for the reference height a normalised by the water depth minRV Minimum value for the reference height a normalised by the water depth nf Number of sediment fractions nrquad_sed Number of vertical locations used by the Gauss Legendre numerical integration scheme for depth averaging of se diment equilibrium sediment profiles nrquad_wav Number of time steps used by the Gauss Legendre nu merical integration scheme for phase averaging over a wave period 34 4 SEDIMENT MODEL VARIABLES 1497 n_RichZaki parth_coef parth_exp wu_exp zrough_sed_cst z0_coef Exponent n in equation 7 43 for hindered settling by Richardson amp Zaki 1954 Coefficient M in the formulation 7 126 for erosion of mud by Partheniades 1965 m
67. ion from 7 125 1984a 3 deposition taken as an advective flux at the bot tom erosion parameterised using equation 7 126 from Partheniades 1965 iopt_sed_bbc_type Selects the method to transpose the near bed boun dary condition to the computational grid see Sec tion 7 7 1 1 It is strongly recommended not to change the default value 1 EFDC method applied to lowest cell not recom mended 2 EFDC method applied to the first the cell above the bottom not recommended 3 using the Rouse profile iopt_sed_bedeq Type of formulation for bed load transport L 198 Engelund amp Freds e 1976 1984b 2000 1997 This equation includes wave ef fects 2003 This formula includes wave ef fects T 2007a This method includes wave ef fects oa e Ww N mD iopt_sed_beta The type of equation used for 8 the ratio between the eddy viscosity and eddy diffusivity Le I 2 B is defined by the user parameter beta_cst 34 4 SEDIMENT MODEL VARIABLES 1499 iopt_sed_ceqeq iopt_sed_dens iopt_sed_eha iopt_sed_filter iopt_sed_floc iopt_sed_hiding 3 1984b formulation 7 136 The type of model for determining the equilibrium sediment concentration used to evaluate the sediment flux at the sea bed for 2 D sand transport 1 numerical integration of the Rouse profile 2 using q U determined with the equation of gelund amp Hansen 1967 The precise form is al
68. l water depth A more realistic method implemented in the current ver sion is to take the depth average of 37 Provided z lt H equation 39 is recovered with z H e 0 736H 2 Model code The following new parameters are defined physpars f90 66 depmeanflag Data flag marking land points in the bathymetry in m Default is 0 zbtozOlim Value of the critical ratio r for z zo Default is 2 0 syspars f90 enap Euler s number e 2 718282 The parameters depmean_flag and zbtozOlim can be defined by the user in usrdef_mod_params or through the CIF Test cases The following test cases have been modified e The 2 D experiments bohaiA bohaiB bohaiC are no longer defined with a constant drag coefficient but with a constant roughness height iopt_bstres_drag 3 using the same value as for the 3 D experiments D F e All inundation experiments flood2d flood3d are now defined with a uniform roughness height of 0 001 m instead of a constant bottom drag coefficient This causes a stronger flow retardation during drying phases Test case output parameters are therefore significantly diffe rent Compatibility with previous versions This version is compatible with previous versions without changes 67 68 Version V2 5 Coherens Version V2 5 previous release V2 4 2 Revision 576 svn path http svn mumm ac be svn root coherens versions V2 5 Date of release 2013 05 31 Code coherensV2 5 tar gz U
69. ld depth din Default is 0 1 m nofldmasks Number of implemented mask functions 44 fld_mask nofldmasks Enables 1 or disables 0 a specific mask func tion Default is fld mask 1 1 fld mask 2 0 This can be changed by the user switches f90 iopt_CDF Enables disables netCDF output 0 1 The switch is switched on automatically if the program is compiled with the DCDF CPP option and cannot be set by the user iopt_fld Selects the type of drying wetting algorithm 0 Drying wetting disabled 1 Without using the dynamic mask function 2 Dynamic mask function enabled inout_routines f90 A few bugs typing errors have been corrected paral_utilities f90 The sum2_vars generic routine has an additional optional argument LOGICAL INTENTCIN OPTIONAL DIMENSION mask If present grid points where mask is FALSE are excluded in calculat ing the sum Otherwise the mask is defined internally The princi pal reason for implementing the new argument is that cells which are temporarily set to dry are excluded if the argument is not present They can be put in again by providing the mask as an argument e g mask depmeanatc 1 ncloc 1 nrloc GT 0 0 reset_model F 90 The status attribute of the open boundary forcing files is set to 0 if the corresponding switch is zero Instructions for users The procedures for setting up an application with the drying wetting algo rithms are as follows usrdef_mod_pa
70. le check_sediments f90 Type Module subroutine Purpose Check initial conditions for sediments as e g defined in usrdef_sedics 1482 CHAPTER 34 SEDIMENT REFERENCE MANUAL Arguments None Calling procedures check_sed_params SUBROUTINE check_sed_params File check_sediments f90 Type Module subroutine Purpose Check setup parameters and switches for the sediment model setup as e g defined in usrdef_sed_params Arguments None Calling procedures initialise_model 34 2 1 1 default_sediments f90 default_sedics SUBROUTINE default_sedics File default_sediments f90 Type Module subroutine Purpose Set the default initial conditions for the sediment model Arguments None Calling procedures initialise_model 34 2 MODULE ROUTINES 1483 default_sed_params SUBROUTINE default_sed_params File default_sediments f90 Type Module subroutine Purpose Default settings of sediment parameters and switches Arguments None Calling procedures initialise_model 34 2 2 reset_sediments f90 reset _sedics SUBROUTINE reset_sedics File reset_sediments f90 Type Module subroutine Purpose Reset the initial conditions of the sediment model where needed Arguments None Calling procedures initialise_model 1484 CHAPTER 34 SEDIMENT REFERENCE MANUAL reset_sed_params SUBROUTINE reset_sed_params File reset_sediments f90 Type Module subroutine Purpose Reset the parameters and switche
71. lling procedures bottom _flux_sed sediment_bedload sediment_totalload critical_shear_stress SUBROUTINE critial_shear_stress File Sediment_Bottom_Fluxes f90 Type Subroutine Purpose Critical shear stress 1466 CHAPTER 34 SEDIMENT REFERENCE MANUAL Reference Section 7 6 4 2 Arguments None Calling procedures sediment_equation 34 1 3 Sediment_Density_Equations F90 baroclinic_gradient_sed_cubic SUBROUTINE baroclinic_gradient_sed_cubic zcoord dzx dzy dzz cdir CHARACTER LEN 1 cdir REAL INTENT IN DIMENSION O ncloct1 O nrlocti nz dzx dzy dzz REAL INTENTCIN DIMENSION 1 nhalo ncloctnhalo amp amp 1 nhalo nrloctnhalo nz zcoord File Sediment_Density_Equations F 90 Type Subroutine Purpose Sediment component of the baroclinic pressure gradient cube H method Reference Sections and equation Arguments zcoord Z coordinate at W nodes m dzx Harmonic derivative of the X coordinate dzy Harmonic derivative of the Y coordinate dzz Harmonic derivative of the Z coordinate cdir Direction of the gradient X Y Called external procedures hcube_fluxes Calling procedures baroclinic_gradient 34 1 EXTERNAL ROUTINES 1467 baroclinic_gradient_sed_sigma SUBROUTINE baroclinic_gradient_sed_sigma zcoord cdir CHARACTER LEN 1 INTENT IN cdir REAL INTENTCIN DIMENSION 1 nhalo ncloctnhalo amp amp 1 nhalo nrloctnhalo nz zcoord File Sediment_Density_Equations F9
72. ment variables and forcing files CONTAINS SUBROUTINE inquire_sedvar varid f90_name long name units node vector_name amp amp data_type nodim shape dom_dims halo_size varatts returns attributes of a sediment array variable given its 34 5 INTERFACES 1507 variable key id CHARACTER LEN lenname INTENT OUT OPTIONAL f90_ name CHARACTER LEN lendesc INTENT OUT OPTIONAL long name vector_name CHARACTER LEN lenunit INTENT OUT OPTIONAL units CHARACTER LEN INTENT OUT OPTIONAL node INTEGER INTENT IN varid INTEGER INTENT QUT OPTIONAL data_type nodim INTEGER INTENT OUT OPTIONAL DIMENSION 4 dom_dims halo_size shape TYPE VariableAtts INTENT OUT OPTIONAL varatts END SUBROUTINE inquire_var SUBROUTINE set_sedfiles_atts iddesc ifil iotype global attributes of a forcing file in the sediment model INTEGER INTENT IN iddesc ifil iotype END SUBROUTINE set_sedfiles_atts SUBROUTINE set_sedvars_atts iddesc ifil ivarid nrank nshape numvarsid novars variable attributes of a forcing file in the sediment model INTEGER INTENTC IN iddesc ifil novars INTEGER INTENT OUT DIMENSION novars ivarid nrank numvarsid INTEGER INTENT OUT DIMENSION novars 4 nshape END SUBROUTINE set_sedvars_atts END MODULE sedvars_routines 34 5 3 User defined routines SUBROUTINE usrdef_sed_params define parameters and switches for the sediment model END SUBROUTINE usr
73. nge and fluxes of scalars between the two adjacent computational grid cells without reducing the total wet surface and the volume of the model e Weirs which are similar to thin dams except that a weir can be inun dated in which case an energy loss is generated This structure will work as a thin dam in cases where the total water depth upstream of the structure is less than the crest level of the structure In this case a blocking of flow exchange is imposed by the module Groynes are typical examples of weirs e Barriers which have an opening close to the bottom where users can define the width of the opening and the height of the sill 81 e A discharge module has been implemented Discharges are represented as sources or sinks in the continuity momentum and scalar equations supplied at specified fixed or moving locations at the surface bottom or within the water column e g discharge structures pumping sta tions discharge from moving ships by adding water to the water column with a specified salinity temperature or contimant concentra tion The discharge may or may not have a preferential direction Model setup To apply COHERENS with structures and or discharges the following switches and general parameters may need to be defined in Usrdef_Model f90 iopt_dischr Disables enables 0 1 the discharge module iopt_drycel Disables enables 0 1 the dry cell module iopt_thndam Disables enables 0 1 the thin dam module i
74. o ncloctnhalo i nhalo nrloctnhalo nz amp amp nodeatu nodeatv nodeatuv REAL DIMENSION 1 nhalo ncloctnhalo 1i nhalo nrloctnhalo nzti amp amp nodeatuw nodeatvw and have the following meaning nodeatu Pointer at U node cell faces 0 dry land cell face 1 coastal or structure velocity boundary 2 interior wet U node 3 open sea boundary 4 river open boundary nodeatv Pointer at V node cell faces dry land cell face coastal or structure velocity boundary 0 1 2 interior wet V node 3 open sea boundary 4 river open boundary nodeatuw Pointer at UW node cell faces dry land cell face or bottom cell 1 or surface cell nz 1 coastal or structure velocity boundary 0 1 2 interior wet UW node 3 open sea boundary 4 river open boundary nodeatvw Pointer at VW node cell faces 0 dry land cell face or bottom cell 1 or surface cell nz 1 36 1 coastal or structure velocity boundary 2 interior wet VW node 3 open sea boundary 4 river open boundary nodeatuv Pointer at corner nodes 0 at least two surrrounding U nodes or at least two surrrounding V nodes are dry 1 interior wet node i e at most one surrounding U node and at most one surrounding V node is dry and none of the four surrounding velocity nodes are open boundaries 2 X node open boundary in which case at least one of the sur rounding U nodes is an open boundary while the other one is either a closed n
75. ode Defines the vertical node i e C or W where a W node quantity is evaluated see Section 20 1 1 1 for details outdat Returned output data Calling procedures define_out2d_vals define_out3d_vals 1488 CHAPTER 34 SEDIMENT REFERENCE MANUAL 34 2 4 sedvars_routines f90 inquire_sedvar SUBROUTINE inquire sedvar varid f90 name long name units node vector_name amp amp data_type nodim shape dom_dims halo_size varatts CHARACTER LEN lenname INTENT OUT 90_name CHARACTER LEN lendesc INTENT OUT long name vector_name CHARACTER LEN lenunit INTENT OUT units CHARACTER LEN lennode INTENT OUT node INTEGER INTENTC IN varid INTEGER INTENT OUT data_type nodim INTEGER INTENT OUT DIMENSION 4 dom_dims halo_size shape TYPE VariableAtts INTENT OUT varatts File sedvars_routines f90 Type Module subroutine Purpose Returns attributes of a sediment array variable given its variable key id Arguments varid Variable key id f90_name Returned FORTRAN 90 name attribute long_name Returned long name attribute units Returned units attribute node Returned grid node where the variable is defined on the model grid vector_name Returned vector name attribute data type Returned data type attribute nodim Returned array rank shape Returned array shape dom_dims Returned array shape without halo halo_size Returned halo sizes varatts Variable attributes returned as a variable of type
76. ode or open boundary but the node is not a Y node open boundary 3 Y node open boundary in which case at least one of the sur rounding V nodes is an open boundary while the other one is either a closed node or open boundary but the node is not an X node open boundary 4 the node is both a X and a Y node open boundary Important to note that structures can only be defined at interior sea nodes which excludes coastal and open boundaries This means that if nodeatu nodeatv nodeatuv have different values along the vertical these values must be either 1 or 2 for the first two arrays and 0 or 1 for the third one The same applies for nodeatuw nodeatvw with exception of the surface nz 1 and bottom 1 level where the value is always 0 open boundaries 1 The parameters nobx noby and the logical open boundary arrays west obx soutoby have the same meaning as before taking account that a X open boundary is defined at a corner node where nodeatuv equals 2 or 4 and a Y open boundary where nodeatuv equals 3 or 4 2 The type of open boundary condition for cross stream advective 2 D and 3 D fluxes at corner nodes is selected by the new switch iopt_obc_advflux 1 zero gradient condition 5 286 which is the default 37 3 4 2 quasi upwind scheme 5 287 The switch iopt_obc_int and consequently the arrays itypintobu ityp intobv have been removed The relaxation condition for advection near open boundaries is selected
77. onditions e additional turbulence schemes 8 A drying wetting algorithm 9 Possibility to run the model in 1 D water column 2 D depth averaged mode and 3 D mode 10 Forcing data can be read from several files with different time resolu tion 11 Possibility to launch different simulation within one run 12 The user can specify different times within the simulation period when initial conditions are written for eventual re starts of the program Model code See Coherens V2 0 User Manual User instructions See Coherens V2 0 User Manual Version V2 1 0 Coherens Version V2 1 0 previous release V2 0 Revision 139 svn path http svn mumm ac be svn root coherens versions V2 1 0 Date of release 2010 11 10 File code coherensV210_1136 tar gz File manual in preparation Implementations 1 A new optional utility called the CIF Central Input File has been implemented which can be considered as an extension of the namelist file utility The aim is to define all model setup parameters by reading the CIF instead of calling a usrdef_ routine e Parameters can be re set by editing the CIF without re programming the usrdef_ routines e The following routines are no longer called if the CIF option is selected usrdef_parallel usrdef_init_params usrdef_mod_params usrdef_tsr_params usrdef_avr_params usrdef_anal_freqs usrdef_anal_params e The CIF can be created by the user as an ASCII file or
78. ontal array is performed by taking the same value for Ibounds 3 and ubounds 3 38 structures When structures will be implemented in the program the bottom surface boundary conditions are not always applied at the bottom surface level itself but at a level k greater than 1 or lower nz The following parameters are defined e The switch iopt structs disables enables the use of structures in the model domain If enabled 1 the bottom surface conditions and for mulation of the bottom stress are applied at vertical levels determined by masksuratu masksuratv or maskbotatu maskbotatv defined below The switch is currently disabled 0 e The bottom and surface levels are defined by the following arrays masksuratu 3 D array at the U nodes which is set to TRUE at the vertical level where the surface boundary condition is ap plied masksuratv 3 D array at the V nodes which is set to TRUE at the vertical level where the surface boundary condition is ap plied maskbotatu 3 D array at the U nodes which is set to TRUE at the vertical level where the bottom boundary condition is ap plied maskbotatv 3 D array at the V nodes which is set to TRUE at the vertical level where the bottom boundary condition is ap plied source code The source code has been changed at many places due to the introduction of 3 D masks at velocity nodes This applies in particular for the advection Advection_Terms F 90 and diffusion routines
79. open boundaries or one of the neighbouring V nodes is an open boundary and the other a land boundary open boundary conditions at corner nodes In several applications of COHERENS especially those using ragged open boundaries instabilities were observed near the open boundaries These took the form of growing vortices eventually leading to a crash of the program Using the notations in the User documentation see Chapter Numerical Me thods the following changes and new implementations have been made e Two schemes are now available to evaluate the cross stream advective fluxes in the u equation at Y open boundary nodes analogous expres sions apply for the v equation and 2 D momentum equations 1 The first one uses a zero gradient condition uv _ pw Pig pea 5 which is the same as before 2 The flux is determined using the upwind scheme where possible This means that UV 1 Uv Pio glij a Sij tij i j 1 sig i351 6 where s 1 in case of an inflow condition and either i j 1 j is a U open boundary i 1 j is a closed land or coastal V node 34 i j is a closed V node In all other cases s 1 e The cross stream diffusive fluxes in the u equation are avaluated as follows analogous expressions apply for the v equation and 2 D mode equations If either i j 1 j is a U open boundary or i 1 j is a closed land or coastal V node or i j is a closed V node the flux is cal
80. opt_weibar Disables enables 0 1 the weirs barriers module numdis number of discharge locations numdry number of dry cells numthinu number of thin dams at U nodes numthinv number of thin dams at V nodes numwbaru number of weirs barriers at U nodes numwbarv number of weirs barriers at V nodes For details see Chapter 14 The following additional key ids are available where a marks a forcing with time series data which can be spread over multiple files ook io drycel dry cell locations io_thndam thin dam locations io weibar weirs barries locations and parameters io_disspc discharge specifiers io_disloc discharge locations io_disvol volume discharge data io_discur momentum discharge data io_dissal salinity discharge data io_distmp temperature discharge data 82 A new setup file Usrdef_Structures f90 has been created for setting up appplications with structures and or discharges The file contains the follo wing routines e usrdef_dry_cells setup of the dry cells module usrdef_thin_dams setup of the thin dams module e usrdef_weirs setup of the weirs barriers module e usrdef_dischr_spec specifiers for the discharge module e usrdef_dischr_data defines discharge data For more details see Chapter Model code The following new source files have been created 1 structures f90 Declaration of paramameters for structures and discharges See Sec tion 33 18 in the Reference Manual 2 Structures_Model f9
81. ous versions This version is compatible with previous versions without changes taking account of the minor modifications mentioned above The old test cases can be run as before 86
82. output data are automatically generated so that most usrdef_ _vals routines become empty 28 Model code user output The generation of 0 D time series output is illustrated by the following code lines in routine time_series IF tsr0d iset defined THEN outvars 1 noutvarsOd tsrvars ivarstsr0d iset 1 noutvars0d CALL define_out0Od_vals outidsub noutvars0d amp amp outvars outvars 1 noutvars0d IF ANY outvars 1 noutvars0d ivarid EQ 0 THEN CALL usrdef_tsr0d_vals outdat 1 novars0d novars0d WHERE outvars 1 noutvars0d ivarid EQ 0 outidsub outdat ivarstsr0d iset 1 noutvars0d END WHERE ENDIF ENDIF The routine define_outOd_vals provides the output data for the variables with a specified variable key id The routine usrdef_tsrOd_vals has the same meaning as in the previous versions A similar procedure is taken for 2 D and 3 D output and for time averaging and harmonic analysis The define_ routines are declared as follows SUBROUTINE define_out0d_vals outdat novars outvars ivarid oopt INTEGER INTENTCIN novars REAL INTENT OUT DIMENSION novars outdat INTEGER INTENTC IN OPTIONAL DIMENSION novars ivarid oopt TYPE VariableAtts INTENTCIN OPTIONAL DIMENSION novars outvars which defines 2 D output data The arguments have the following meaning outdat Returned output values novars Number of 0 D output data outvars Attributes of the output variables Must be present only when iv
83. ows cones The parameters xmin xplus ymin yplus have the same meaning as before but are calculated by interpolation giving a higher precision Output at 12 5 minutes intervals csnsp Output at daily intervals river Output at 3 hours intervals plume Output at 3 hours intervals rhone Two new parameters etot and bdissip are added Output at 6 hours intervals Model code The following changes have been with repsect to version V2 1 0 1 Implementations for the verification procedure Model_Initialisation F 90 The switch iopt_verif is defined in coherens_start depending on the whether VERIF is set in op tions cpp reset_model F90 Attributes of the user output files and output grid are reset in routines reset_out_files and reset_out_gpars if iopt_verif 1 2 Routine default_out_gpars in default_model f90 all output data grids are set by default to the full physical model grid xlims 1 nc 1 1 ylims 1 nr 1 1 zlims 1 nz 1 3 The namelist utility has become redundant by implementation of the CIF and has been removed from the code 18 e The parameter MaxNMLTypes is removed in syspars f90 e The variable nmlfiles and the key ids nml_ are removed from iopars e Routines read_mod_params and write_mod_params are deleted in Model_parameters f90 e Routine reset_nml_params is removed in reset_model F 90 e Settings of default attributes for nmlfiles are deleted in default_init_params e The re
84. pe Subroutine Purpose Apply one of the formulations for suspended load Reference Section Arguments None Called external procedures ackerswhite_params bottom_flux_sed bottom_flux_sed tar_engelund_hansen Calling procedures equilibrium_concentration sediment_equation sediment_totalload SUBROUTINE sediment_totalload File Sediment_Equations F 90 Type Subroutine 1476 CHAPTER 34 SEDIMENT REFERENCE MANUAL Purpose Apply one of the formulations for total load Reference Section Arguments None Called external procedures ackerswhite_params bottom_flux_sed sediment_bedload settling velocity thetastar_engelund_hansen Calling procedures sediment_equation settling_velocity SUBROUTINE settling _velocity File Sediment_Equations F90 Type Subroutine Purpose Apply one of the formulations for the settling velocity Reference Section 7 3 3 Arguments None Calling procedures sediment_advdiffl sediment_totalload thetastar_engelund_hansen SUBROUTINE thetastar_engelund_hansen theta mask thetastar REAL INTENTCIN DIMENSION ncloc nrloc theta REAL INTENT OUT DIMENSION ncloc nrloc thetastar LOGICAL INTENT IN DIMENSION ncloc nrloc mask 34 1 EXTERNAL ROUTINES 1477 File Sediment_Equations F 90 Type Subroutine Purpose Computes 9 in the Engelund amp Hansen 1967 formula Reference Equation 7 87 Arguments theta Shields parameter thetastar Modified Shi
85. plementation of biological and sediment models foreseen in future version of COHERENS the setup of open boundary conditions and the input of open boundary data for 3 D scalars has been adapted so that open boundary conditions can be defined and open boundary data can be obtained for multi variable arrays such as biological state variables or different sedi ment fractions Since the current version only contains a physical component and the open boundary conditions and data are defined separately for each variable baroclonic current temperature salinity the procedures have not fully tested Instructions for users of the current version and compatibility with previous versions are discussed below baroclinic mode Two additional open boundary conditions for the baroclinic current have been implemented 1 Second order gradient condition In case of ragged open boundaries the first order zero gradient condition may yield spurious discontinuities 25 of the vertical current at the first interior node The effect is reduced when using the second order condition o 1 1 O hy O Lhyhz O1 Pahu 0 Fae laa ae hiha v 0 1 at respectively U and V node open boundaries The discretised version of 1 at U nodes becomes u u c c R3itii 1 AB i411 AS ii oct u hu hu 1 23 332 u u c c h3 22 2 hs 2 1 2 AS ii ASi AY 2 E hu hu he he Uit 2 i 2 234 332 1 i 1 i 2 2 i 1 i 2 J uti
86. pt_grid_vtype 2 13 transformation with enhanced resolution near the bottom and or the bottom as defined in amp Bolding 2002 21 Song amp Haidvogel 1994 transformation given by 4 33 and 4 35 if iopt_grid_vtype 3 iopt_grid_node This switch allowed in previous releases to define bathymetry and vertical grid either at C or at corner nodes How ever the latter option seems to provide no real ad vantage and becomes problematic in channels having a width of just one grid spacing For this reason the first option will always be selected in the code and the switch is no longer available in the current implemen tation model setup parameters A rotated Cartesian or rectangular spherical grid is selected by defining the following new attributes for the user defined derived type variable surface grids igrd_model 1 rotated must be set to TRUE in case of a rotated grid Default is FALSE gridangle grid rotation angle a see Section 4 1 3 decimal degrees Must be between 0 and 180 yOrot transformed latitude of the reference location in case of a rotated grid decimal degrees Only used for spherical rotated grids 78 The following additional setup parameters are introduced for making ver tical grid transforms default in parentheses b_SH dl_BB du_BB hcrit_SH sigstar_DJ sig0_DJ theta_SH Parameter b in the Song amp Haidvogell 1994 vertical grid trans formation 0 1 P
87. r2d_vals usrdef_tsr3d_vals usrdef_avrOd_vals usrdef_avr2d_vals usrdef_avr3d_vals usrdef_analOd_vals usrdef_anal2d_vals usrdef_anal3d_vals In the mixed case i e if not all variables with attributes stored in tsrvars avrvars or alnalvars are defined with a non zero key id the 23 values of the ones with zero id need to be defined in the appropriate usrdef_ _vals routines while the other ones are defined by the program itself e A series of additional variable attributes have been implemented to allow for different types of output The operator attribute oopt If the rank of the result is diffe rent from the one implemented by the variable s rank the rank attribute must be set to the rank of the result For example the domain average of a 3 D variable has a rank of 0 The attribute has one of the following values oopt_null No operator is applied default oopt_mean Result depends on the rank of the model variable and the rank of the output data o If the rank of the result is 0 the output value is the domain average in case of a 3 D or the surface average in case of a 2 D variable Land areas are excluded in the averaging o If the rank of the output value is 2 the result is the depth averaged value oopt_max Result depends on the rank of the model variable and the rank of the output data o If the rank of the result is 0 the output value is the domain maximum in case of a 3 D or the surface maximum in ca
88. rams 1 Enable the inundation scheme by setting iopt_fld to 1 or 2 45 2 If iopt_fld 2 select the mask criteria by setting the elements of the vector fld_mask to 0 or 1 In most cases the default scheme is sufficient Note that the array is not used if iopt_fld 1 3 Define the depth parameters dmin_fld dcrit_fld dthd_fld Defaults are 0 02 0 1 0 1 The threshold depth dthd_fld is only used when iopt_fld 2 All these parameters can alternatively be defined in the CIF usrdef_grid If it is the intention to apply COHERENS for the simulating the flooding of intially dry land arrays or obstacles the following procedure is recommended 1 Define the topographic height e g hmar of the highest points on land which can potentially be flooded by a rising sea level 2 Increase the reference mean sea level by adding hmaz to the initial bathymetry with respect to the standard mean sea level 3 Note that grid points with a zero mean water depth are consid ered by the model as permanently dry land points and cannot be flooded Negative depth values are not allowed usrdef_phsics Reset the initial surface elevation to take account of the changed refer ence level Gin t Amaz 22 where 4 is the sea level with respect to the standard level If by this procedure the total water depth becomes negative more precisely lower than din the total depth will be reset to dmin In case a dy namic mask is applied these grid
89. rays SUBROUTINE bed_slope_arrays File Sediment_Equations F 90 Type Subroutine Purpose Bed slopes at different grid nodes Arguments None Calling procedures sediment_equation 34 1 EXTERNAL ROUTINES 1471 beta_factor SUBROUTINE beta_factor File Sediment_Equations F 90 Type Subroutine Purpose Ratio of sediment diffusivity to eddy viscosity 6 Reference Equation 7 136 Arguments None Calling procedures sediment_advdif diff_coef_waves SUBROUTINE diff_coef_waves File Sediment_Equations F 90 Type Subroutine Purpose Sediment diffusivity including wave effects Reference Section 7 6 4 2 Arguments None Called external procedures bottom_stress_waves Calling procedures sediment_advdit 1472 CHAPTER 34 SEDIMENT REFERENCE MANUAL equilibrium_concentration SUBROUTINE equilibrium_concentration File Sediment_Equations F90 Type Subroutine Purpose Determine equilibrium concentration Ca Reference Section 7 6 3 Arguments None Called external procedures equilibrium_timescale sediment_suspendedload Calling procedures sediment_advdif equilibrium_timescale SUBROUTINE equilibrium_timescale File Sediment_Equations F 90 Type Subroutine Purpose Determine dimensionless equilibrium time scale T Reference Equations 7 130 7 133 Arguments None Calling procedures equilibrium_concentration 34 1 EXTERNAL ROUTINES 1473 median_particle_diameter SUBR
90. revious versions The CIF file syntax of a CIF As shown in the example below each data line in the CIF has the following syntax varname value 1 value 2 value n where varname is the FORTRAN name of a model parameter and value 1 to value n are the input values of the parameter separated by the data separator The file is read line wise The data strings value 1 value 2 are converted to the appropriate numeric logical character data format associated with the variable FORTRAN variable varname The following rules apply If a comment character appears in the string all characters in the string starting from this character are ignored However the comment character can only appear at the first position of the data line in which case the entire line is ignored or after the last character of the last data string If varname is a scalar it is obvious that only one value needs to be given and there is no data separator In case of a vector the number of data can be lower than the size of the vector in which case the non defined values are set to their defaults However if a vector has a specified physical size all expected data must be given Examples are the arrays index_obc physical size given by nconobc or ntrestart physical size given by norestarts If the model parameter represents a multi dimensional array of rank m the first m 1 data strings represent the vector index
91. routine declarations are given below without further explanation Further details about the meaning of the routine and arguments are found in this chapter 34 5 1 External routine interfaces SUBROUTINE allocate_sed_arrays Allocate sediment arrays END SUBROUTINE allocate_sed_arrays SUBROUTINE assign _cif_vars_sed iddesc cname cvals numvars convert data strings from the sediment CIF to the format numeric or non numeric in COHERENS CHARACTER LEN lenname INTENTCIN OPTIONAL cname CHARACTER LEN lencifvar INTENT IN DIMENSION MaxCIFvars cvals INTEGER INTENTCIN iddesc numvars END SUBROUTINE assign _cif_vars_sed SUBROUTINE baroclinic_gradient_sed_cubic zcoord dzx dzy dzz cdir sediment contribution for the baroclinic density gradient cube H method CHARACTER LEN 1 cdir REAL DIMENSION O ncloct 1 0 nrloc 1 nz INTENT IN dzx dzy dzz REAL DIMENSION 1 nhalo ncloctnhalo amp amp 1 nhalo nrloctnhalo nz INTENTCIN zcoord END SUBROUTINE baroclinic_gradient_sed_cubic SUBROUTINE baroclinic_gradient_sed_sigma zcoord cdir sediment contribution for the baroclinic density gradient sigma second order method CHARACTER LEN 1 cdir 34 5 INTERFACES 1503 REAL DIMENSION 1 nhalo ncloc nhalo amp amp 1 nhalo nrloctnhalo nz INTENTCIN zcoord END SUBROUTINE baroclinic_gradient_sed_sigma SUBROUTINE baroclinic_gradient_sed_z sigint kint cdir sediment contribution for the
92. s 34 1 EXTERNAL ROUTINES 1469 Purpose Density and expansion coefficients of a water sediment mixture Reference Section 7 2 3 Arguments None Calling procedures equation_of_state 34 1 4 Sediment_Equations F 90 ackerswhite_params SUBROUTINE ackerswhite params dstar maskvals nw mw aw cw LOGICAL INTENTCIN DIMENSION 1 ncloc 1i nrloc maskvals REAL INTENTCINOUT DIMENSION 1 ncloc i nrloc dstar REAL INTENTC OUT DIMENSION 1 ncloc i nrloc aw cw mw nw File Sediment_Equations F 90 Type Subroutine Purpose Parameters for the Ackers amp White 1973 formula Reference Equation 7 91 Arguments dstar Dimensionless particle diameter d maskvals Mask array to exclude dry points nw mw aw cw Parameters for the Ackers amp White 1973 formula Calling procedures sediment_suspendedload sediment_totalload 1470 CHAPTER 34 SEDIMENT REFERENCE MANUAL bartnicki_filter SUBROUTINE bartnicki_filter psic novars ivarid INTEGER INTENT IN ivarid novars REAL INTENTCINOUT DIMENSION 1 nhalo ncloctnhalo amp amp 1 nhalo nrloctnhalo nz novars psic File Sediment Equations F90 Type Subroutine Purpose Apply the Bartnicki filter to a scalar field to eliminate negative values Reference Section 7 7 4 Arguments psic C node scalar quantity psic novars Size of last variable dimension ivarid Key id of psic Calling procedures sediment_advdif bed_slope_ar
93. s Exponent np in the formulation 7 126 for erosion of mud by Partheniades 1965 Exponent m used to calculate the hiding factor 7 36 in the 2000 formulation Uniform roughness length used to obtain the skin bed stress if iopt_sed_tau 2 m Factor by which zo is multiplied to determine the min imum depth for averaging used in the boundary condi tion at the sea bed in the EFDC method iopt_sed_bbc_type 2 or 3 34 4 4 Sediment switches on off INTEGER iopt_sed_mode 2 iopt_sed_nodim 3 iopt_sed_type 2 type of equation INTEGER iopt_sed_bedeq 1 iopt_sed_ceqeq 1 amp amp iopt_sed_dens 0 iopt_sed_toteq 1 suspended sediment transport INTEGER iopt_sed_bbc 1 iopt_sed_beta 1 iopt_sed_wave_diff settling velocity INTEGER iopt_sed_floc 0 iopt_sed_hindset 0 iopt_sed_vadv amp iopt_sedws 1 bed load INTEGER iopt_sed_eha 1 iopt_sed_hiding 0 iopt_sed_median amp iopt_sed_slope 0 iopt_sed_tau 1 iopt_sed_taucr numerical INTEGER iopt_sed_bbc_type 3 iopt_sed_filter 0 File sedarrays f90 Type Module Purpose Sediment arrrays 1 3 amp 1 amp 1498 CHAPTER 34 SEDIMENT REFERENCE MANUAL Description iopt_sed_bbc Type of boundary condition at the sea bed 0 no bed boundary conditions no flux to and from the bed 1 using reference concentration 7 124 from Smith 1977 2 using reference concentrat
94. s of the sediment model where needed Arguments None Calling procedures initialise_model 34 2 3 sediment _output f90 define_sed0d_int2d SUBROUTINE define_sedOd_int2d ivarid f out2d INTEGER INTENTCIN f ivarid REAL INTENT OUT DIMENSION ncloc nrloc out2d File sediment_output f90 Type Module subroutine Purpose Define 2 D sediment data for area integrated averaged output Arguments ivarid Variable key id f Fraction number if needed out2d Data area as defined on the model grid Calling procedures define_outOd_vals 34 2 MODULE ROUTINES 1485 define_sedOd_int3d SUBROUTINE define_sed0d_int3d ivarid f out3d INTEGER INTENTCIN f ivarid REAL INTENT OUT DIMENSION ncloc nrloc nz out3d File sediment_output f90 Type Module subroutine Purpose Define 3 D sediment data for area integrated averaged output Arguments ivarid Variable key id f Fraction number if needed out3d Data area as defined on the model grid Calling procedures define_outOd_vals define_sedOd_vals SUBROUTINE define_sedOd_vals ivarid f outdat INTEGER INTENTCIN f ivarid REAL INTENTCOUT outdat File sediment_output f90 Type Module subroutine Purpose Define 0 D sediment output data Arguments ivarid Variable key id f Fraction number if needed outdat Returned output data value Calling procedures define_outOd_vals 1486 CHAPTER 34 SEDIMENT REFERENCE MANUAL define_sed2d_int1d SUBROUTINE define _s
95. se of a 2 D variable Land areas are excluded o If the rank of the output value is 2 the result is the maximum over the water depth oopt_min Result depends on the rank of the model variable and the rank of the output data o If the rank of the result is 0 the output value is the domain minimum in case of a 3 D or the surface minimum in case of a 2 D variable Land areas are excluded o If the rank of the output value is 2 the result is the minimum over the water depth 24 oopt_klev Produces the value of a 3 D variable at the vertical level given by the attribute klev Rank of the result is 2 oopt_dep Produces the value of a 3 D variable at a specified depth given by the attribute dep Rank of the result is 2 The attribute klev defines the output vertical level in case oopt equals oopt_klev The attribute dep defines the output water depth measured pos itively from the surface in case oopt equals oopt_dep Result is 0 if dep is larger than the total water depth at the output location The node attribute is only used for 3 D variables defined at W nodes on the model grid If node is set to C default the vertical profile of the variable is first interpolated at the C node before the operator is applied It is remarked that quantities defined at U or V nodes are always interpolated at C nodes first before applying the operator open boundary conditions multi variable arrays In view of the im
96. ser documentation User Documentation V2 5 pdf Reference manual Reference Manual_V2 5 pdf Implementations An extended sediment transport module has been implemented This version can therefore be considered as a major update of the code Details are described in Chapter 7 of the User Documentation The main features are a module for the advective diffusive transport of suspended sediments different fractions for the simulation of graded sediments near bed boundary conditions for sand as well as mud various methods for bed and total load transport different formulae for the settling velocity including hindered settling flocculation critical shear stress turbulence damping caused by vertical stratification due to sediment concentrations turbidity flows caused by horizontal sediment concentration gradients 69 A first version of a surface wave module has been implemented A full current wave interaction module is foreseen for a future COHERENS version The aim here is to provide wave parameters used in some of the formulations for bed and total load transport Installation file directories Some changes are made to the file directory tree as shown in Figure e A new directory physics has been created containing all files releated to the physical core part of COHERENS The code physics source and code physics comps directories are the analogues of code source respectively code comps in the previous relea
97. ses e The source code and compilation files for the new sediment model are in code sediments source and code sediments comps e The code scr directory has been moved to the root directory co herens V2 5 compilation The following new macros are defined in coherensflags cmp physics directory path PHYSMOD COHERENS code physics sediment directory path SEDMOD PHYSMOD SEDMOD COHERENS code sediment where PHYSMOD and SEDMOD are the path names of the physical and sediment main directories The first one should not be changed For the sediments the following options are available 1 If SEDMOD is set to PHYSMOD the code is compiled without sedi ments Since the main code of COHERENS now contains generic calls to a number of routines used for sediments a number of dummy rou tines are provided in physics source They are there only to prevent 70 COHERENS V2 5 program directory tree comps code physics source sediments errors during compilation and do not contain actual code A complete listing of these routines and related files is presented in Chapter comps source comps biology source examples setups cones eclwf xlf data ptests linu
98. sing the script e The options t and u are mutually exclusive e If neither t or u are present no application has been defined but the program can still be compiled 60 If o is not present the file coherensflags cmp in the comps directory is copied by default The script creates the following links SOURCE directory path of the main source code BSOURCE directory path of the biological source code COMPS directory path of the files for compilation of the main code BCOMPS directory path of the files for compilation of the biological source SCR SETU DATA code directory path of the scr directory P path of the directory where the files for the application are located directory path of the data directory Test cases Test cases cones front pycno and csnsp are as before All other test cases are run in either explicit or implicit mode depend ing on whether DPETSC has been specified In the implicit case the name of the test case file is as before but with a 2 added after the name of the experiment For example fredyA tst and fredyA2 tst are the result files for experiment fredyA and respectively the explicit and implicit case The switches iopt_mode_2D and iopt_mode_3D are no longer user defined The switch iopt_curr is defined where necessary Except for cones front pycno and csnsp which are the same as before the explicit results may be slightly different from version V2 3 The zero gr
99. so determined by the switch iopt_sed_eha 3 using q U using the formulation by 979 4 using q U using the formulation by 2003 This formulation is very similar to 1984b but takes wave stresses into account 5 Using q U and the method of Wu et al 2000 Disables 0 or enables 1 effects of sediments in the equation of state and density stratification Switch to select the type of formulation in the gelund amp Hansen 1967 total load formula 7 86 1 original form 2 Chollet amp Cunge 1979 form as function of 0 The type of filter used to prevent the occurrence of negative concentrations 0 no filter 1 1989 filter Type of flocculation factor for the settling velocity 0 flocculation effect disabled i 994 equation 9 2 2007b equation 7 48 3 combination of the two previous methods Type of formulation for the hiding factor 0 hiding disabled 1 equation 2 equation 1500 CHAPTER 34 SEDIMENT REFERENCE MANUAL iopt_sed_hindset iopt_sed_median iopt_sed_mode iopt_sed_nodim iopt_sed_slope iopt_sed_tau iopt_sed_taucr Type of formulation for hindered settling 0 hindered settling disabled 1 Richardson amp Zaki 1954 equation 7 43 2 Winterwerp amp van Kesteren 2004 formula 7 44 Method for calculating the median size dso at the sea bed 1 no interpolation 2 linear interpolation not recommended especially for a low number of fr
100. t the sea bed of particulate matter 0 Deposition flux is set to zero 1 first order upwind scheme default 2 second order scheme using extrapolation Disables enables 0 1 the activation of an external sedi ment module Default is off Selects the type of background mixing mixing 0 user defined constant value vdifmom_cst default 1 kinematic viscosity as selected by iopt_kinvisc Type of wave input 0 wave input disabled default 1 wave height period and wave direction 2 wave height period velocity excursion and direction A parabolic eddy viscosity profile can be selected by setting iopt_turb_alg 6 key ids forcing attributes io_fincon Forcing id for final conditions In the previous versions this key id was the same as the one for initial conditions io_inicon io sednst output file s for sediment nesting 72 io_sedobc definitions of open boundary conditions for sediment variables file number equals 1 or input of open boundary data file number larger than 1 io_sedspc time independent arrays used for the setup of a sediment model particle attributes in the COHERENS sediment model io_wavgrd surface wave grid io_wavsur surface wave data other igrd_waves key id of a surface wave grid ics_sed initial condition file number for sediments itm_sed timer key id for sediment routines model parameters and arrays The following parameter can be defined in usrdef_mod_params or the CIF
101. t be set Type of current fields 0 Currents and elevations are set to their default zero values and are not updated 1 Currents and elevations are initialised but not updated in time 2 Currents are initialised but not updated in time Type of solver used by PETSc For details see the PETSc User Manual Richardson KSPRICHARDSON Chebychev KSPCHEBYCHEV Conjugate Gradient KSPCG Biconjugate Gradient KSPBICG Generalised Minimal Residual KSPGMRES BiCGSTAB KSPBCGS Conjugate Gradient Squared KSPCGS CON Q Oo A W N e 59 Transpose Free Quasi Minimal Residual 1 KSPTFQMR 9 Transpose Free Quasi Minimal Residual 2 KSPTCQMR 10 Conjugate Residual KSPCR 11 Least Squares Method KSPLSQR 12 Shell for no KSP method KSPPREONLY iopt_petsc_precond Type of preconditioner used by PETSc For details see the PETSc User Manual Jacobi PCJACOBI Block Jacobi PCBJACOBI SOR and SSOR PCSOR SOR with Eisenstat trick PCEISENSTAT Incomplete Cholesky PCICC Incomplete LU PCILU Additive Schwarz PCASM Linear solver PCKSP Combination of preconditioners PCCOMPOSITE 10 LU PCLU 11 Cholesky PCCHOLESKY 12 No preconditioning PCNONE model parameters physpars f90 itsimp Current iteration number for the outer loop of the im plicit scheme noitsimp Last iteration number of the outer loop maxitsimp Largest allowed iteration number for the outer loop dzetaresid Value of
102. tion at the C nodes m s Total load qn per sediment fraction in the X direction at the U nodes m s Total load q2 per sediment fraction in the Y direction at the V nodes m s Particle density ps ke m Sediment source defined by the user per sediment fraction m s Critical bed shear stress Ter per sediment fraction m s Spatially uniform critical shear stress Ter per fraction m s Non dimensional equilibrium time scale T per frac tion X component of the skin bed shear stress at the C nodes m s X component of the skin bed shear stress at the U nodes m s X component of the skin bed shear stress at the V nodes m s Y component of the skin bed shear stress at the C nodes m s Y component of the skin bed shear stress at the U nodes m s Y component of the skin bed shear stress at the V nodes m s Vertical eddy diffusivity Dy for sediment per frac tion m s m s Spatially uniform settling velocity w per fraction m s Settling velocity w per sediment fraction Skin roughness length at the C nodes m Skin roughness length at the U nodes m Skin roughness length at the V nodes m 34 4 SEDIMENT MODEL VARIABLES 1495 34 4 2 Key ids of sediment variables MODULE sedids start key id number INTEGER PARAMETER PRIVATE nO MaxModArids sediment particle attributes INTEGER PARAMETER amp amp iarr_dp n0 1 iarr_rhos n0 2 liarr_tau_cr_cst
103. tsout3U T 2 TSROD 4 T A plumeA 4 tsoutOA T 2 TSR2D 4 T U plumeA 4 tsout2U T 2 TSRGPARS 1 T F F F 2003 01 03 00 00 00 000 3 0 0 1 120 1 1 40 1 20 20 1 0 8640 360 TSRGPARS 2 T F F F 2003 01 03 00 00 00 000 3 0 0 30 30 1 1 40 1 1 20 1 0 8640 360 TSRGPARS 3 T F F F 2003 01 03 00 00 00 000 3 0 0 1 120 1 5 5 1 1 20 1 0 8640 360 TSRGPARS 4 T F F F 2003 01 03 00 00 00 000 2 0 0 30 30 1 1 1 1 1 1 1 0 8640 12 INDEX_ANAL 46 NOFREQSHARM 1 IFREQSHARM 1 1 ANALVARS 1 161 2 umvel X component of depth mean current m s Depth mean current ANALVARS 2 170 2 vmvel Y component of depth mean current m s Depth mean current ANALVARS 3 113 2 zeta Surface elevation m ANALVARS 4 162 3 uvel X component of current m s Current ANALVARS 5 171 3 vvel Y component of current m s Current ANALVARS 6 175 3 wphys Physical vertical velocity m s Physical current ANALVARS 7 204 3 sal Salinity PSU IVARSANAL 1 1 2 3 4 5 6 7 IVARSELL 1 1 10 IVECELL2D 1 1 2 IVECELL3D 1 1 2 RES2D 1 T A plumeA_1 resid2A T 2 RES3SD 1 T A plumeA_1 resid3A T 2 AMP2D 1 1 T A plumeA_1 lamp1t2A T 2 PHA2D 1 1 T A plumeA_1 1phase2A T 2 ELL2D 1 1 T A plumeA_1 1e11ip2A T 2 ELL3D 1 1 T A plumeA_1 1e11ip3A T 2 ANALGPARS 1 T F F F 2003 01 03 06 00 00 000 3 0 0 1 120 1 1 40 1 1 20 1 0 8640 1440 15 16 Version V2 1 1 Coherens Version V2 1 1 previous release V2 1 0 Revision 160
104. umvars becomes SUBROUTINE usrdef_profobc_data iddesc ifil ciodatetime psiprofdat amp amp numprofs nzdat numvars 20 Compatibility with previous versions To make an application set up under version V2 1 0 compatible with V2 1 1 the following needs to be taken into account e The namelist utility has been removed and replaced by the CIF util ity e The shape of the array psiprofdat and the positions of the arguments nzdat numprofs have been modified in usrdef_profobc_data see above 21 22 Version V2 1 2 Coherens Version V2 1 2 previous release V2 1 1 Revision 237 svn path http svn mumm ac be svn root coherens versions V2 1 2 Date of release 2011 05 20 File code coherensV212_1237 tar gz File manual in preparation Implementations user output Data values for user output can be defined automatically by the program if the user defines non zero values for the variable key ids either in the CIF or in the corresponding usrdef_ _params routines New variable attributes are available which can be set by the user and allow to apply an operator on the output variable s e Ifthe key id of an output variable is set with a non zero value all meta data and output values are automatically generated by the program Otherwise both metadata and output values need to be defined by the user e If all key ids are positive the following routines are no longer called usrdef_tsr0d_vals usrdef_ts
105. urface elevation at the next and previous iteration zeta_old Surface elevation at the old time level t obconds f90 obc2uvatu_old Value of obc2uvatu at the old time level t obc2uvatv_old Value of obc2uvatv at the old time level t switches The following switches have been re defined in switches f90 iopt_mode 2D Status of the 2 D mode Its value is set internally and cannot be changed by the user 0 The 2 D mode is disabled Transports U V and surface elevations are set to their zero default values and are not updated 1 Transports and elevation are initialised but not up dated in time 2 Transports and elevations are initialised and updated in time 54 iopt_mode_3D iopt_petsc iopt_hydro_impl iopt_curr iopt_petsc_solver Status of the 3 D mode Its value is set internally and cannot be changed by the user 0 The 3 D current are set to their default zero values and are not updated 1 The 3 D current is initialised but not updated in time 2 The 3 D current is initialised and updated in time Enables disables the use of the PETSc library Its value is set internally and switched on if DPETSC is provided as compiler option 0 PETSc is switched off 1 PETSc is switched on Disables enables the implicit scheme 0 The momentum equations are solved with the explicit scheme default 1 The momentum equations are solved using the implicit algorithm The compiler option DPETSC mus
106. values are either the default settings or the re defined values from a call to the appropriate usrdef_ routine or the ones reset by the program after a call to a reset_ routine Only excep tion to this rule is the parameter cold_start which is always written as FALSE and can only be changed by editing the CIF manually CIF blocks A CIF file is composed of six blocks which much be given in a specific order Each block corresponds to a usrdef_ routine given in parentheses below where the parameters could be defined in absence of the CIF monitoring parameters usrdef_init_params general model setup parameters usrdef_mod_params parameters for the setup of time series output usrdef_out_params parameters for the setup of time averaged output usrdef_avr_params definitions for making harmonic analyses usrdef_anal_freqs parameters for harmonic output usrdef_anal_params The following rules apply for CIF blocks e A CIF block is terminated by a line whose first character is the block separator the rest of the line is ignored e A block may be empty but the separator lines must always be there This means that the file must contain 6 lines including the last one starting with a An empty block is represented by two consecutive separator lines e Empty blocks are written by the program in the following cases block 3 no time series output iopt_out_tsers 0 block 4 no time averaged output iopt_out_avrgd
107. x gfort scr tutorial osf dig utils decomp of the User Documentation 2 If SEDMOD is set to the sediment directory COHERENS code sediment the code is compiled with the COHERENS sediment module 3 The user may provide his hers own sediment module in which case SEDMOD should be set to a path where the user has located the in SEDMOD source and the files for compila source code i e tion in SEDMOD comps Note that in that case the previously mentioned generic routines need to be provided by the user Model code and setup switches Figure 1 1 COHERENS directory structure The following switches have been added in switches f90 iopt_curr_wfall 71 Type of formulation for the settling of particulate matter iopt_kinvisc iopt_obc_sed iopt_scal_depos iopt_sed iopt_turb_kinvisc iopt_waves 1 settling enabled without correction terms 2 settling enabled with the correction terms 7 117 7 118 included This option is currently disabled Formulation for kinematic viscosity 0 user defined uniform value kinvisc_cst default 1 ITTC 1978 relation 7 24 General type of open boundary conditions for sediments 0 default conditions at all open boundaries default option 1 non default conditions for at least one open boundary point Discretisation for the deposition vertical advective flux a

Download Pdf Manuals

image

Related Search

Related Contents

MODE D`EMPLOI COMPOSANTS DE MANIPULATION BA  1 Un dispositif de démocratie participative vu à travers ce  Corel Ventura - CS102.CHP  gaz propane Modèle GSC2818J  Sony XS-GTX6931 Marketing Specifications  PowerDirector 5  iSolo 220  MC68332 INDEX MOTOROLA USER'S MANUAL Rev. 15  Maxi-Cosi Mura  トランシーバーカタログ02  

Copyright © All rights reserved.
Failed to retrieve file