1 2! KGEN-generated Fortran source file 3! 4! Filename : control_mod.F90 5! Generated at: 2015-02-24 15:34:48 6! KGEN version: 0.4.4 7 8 9 10 MODULE control_mod 11 ! time integration (explicit, semi_imp, or full imp) 12 ! none of this is used anymore: 13 ! u grad(Q) formulation 14 ! div(u dp/dn Q ) formulation 15 ! Tracer transport type 16 ! We potentially have five types of tracer advection. However, not all of them 17 ! may be chosen at runtime due to compile-type restrictions on arrays 18 !shallow water advection tests: 19 !kmass points to a level with density. other levels contain test tracers 20 ! m s^-2 21 ! 0 = leapfrog 22 ! 1 = RK (foward-in-time) 23 ! number of RK stages to use 24 ! Forcing Type 25 ! ftype = 0 HOMME ApplyColumn() type forcing process split 26 ! ftype = -1 ignore forcing (used for testing energy balance) 27 ! use cp or cp* in T equation 28 ! -1: No fixer, use non-staggered formula 29 ! 0: No Fixer, use staggered in time formula 30 ! (only for leapfrog) 31 ! 1 or 4: Enable fixer, non-staggered formula 32 ! ratio of dynamics tsteps to tracer tsteps 33 ! for vertically lagrangian dynamics, apply remap 34 ! every rsplit tracer timesteps 35 ! Defines if the program is to use its own physics (HOMME standalone), valid values 1,2,3 36 ! physics = 0, no physics 37 ! physics = 1, Use physics 38 ! leapfrog-trapazoidal frequency 39 ! interspace a lf-trapazoidal step every LFTfreq leapfrogs 40 ! 0 = disabled 41 ! compute_mean_flux: obsolete, not used 42 ! vert_remap_q_alg: 0 default value, Zerroukat monotonic splines 43 ! 1 PPM vertical remap with mirroring at the boundaries 44 ! (solid wall bc's, high-order throughout) 45 ! 2 PPM vertical remap without mirroring at the boundaries 46 ! (no bc's enforced, first-order at two cells bordering top and bottom boundaries) 47 INTEGER, public :: vert_remap_q_alg = 0 48 ! -1 = chosen at run time 49 ! 0 = equi-angle Gnomonic (default) 50 ! 1 = equi-spaced Gnomonic (not yet coded) 51 ! 2 = element-local projection (for var-res) 52 ! 3 = parametric (not yet coded) 53 !tolerance to define smth small, was introduced for lim 8 in 2d and 3d 54 ! if semi_implicit, type of preconditioner: 55 ! choices block_jacobi or identity 56 ! partition methods 57 ! options: "cube" is supported 58 ! options: if cube: "swtc1","swtc2",or "swtc6" 59 ! generic test case param 60 ! remap frequency of synopsis of system state (steps) 61 ! selected remapping option 62 ! output frequency of synopsis of system state (steps) 63 ! frequency in steps of field accumulation 64 ! model day to start accumulation 65 ! model day to stop accumulation 66 ! max iterations of solver 67 ! solver tolerance (convergence criteria) 68 ! debug level of CG solver 69 ! Boyd Vandeven filter Transfer fn parameters 70 ! Fischer-Mullen filter Transfer fn parameters 71 ! vertical formulation (ecmwf,ccm1) 72 ! vertical grid spacing (equal,unequal) 73 ! vertical coordinate system (sigma,hybrid) 74 ! set for refined exodus meshes (variable viscosity) 75 ! upper bound for Courant number 76 ! (only used for variable viscosity, recommend 1.9 in namelist) 77 ! viscosity (momentum equ) 78 ! viscsoity (momentum equ, div component) 79 ! default = nu T equ. viscosity 80 ! default = nu tracer viscosity 81 ! default = 0 ps equ. viscosity 82 ! top-of-the-model viscosity 83 ! number of subcycles for hyper viscsosity timestep 84 ! number of subcycles for hyper viscsosity timestep on TRACERS 85 ! laplace**hypervis_order. 0=not used 1=regular viscosity, 2=grad**4 86 ! 0 = use laplace on eta surfaces 87 ! 1 = use (approx.) laplace on p surfaces 88 ! if not 0, use variable hyperviscosity based on element area 89 ! use tensor hyperviscosity 90 ! 91 !three types of hyper viscosity are supported right now: 92 ! (1) const hv: nu * del^2 del^2 93 ! (2) scalar hv: nu(lat,lon) * del^2 del^2 94 ! (3) tensor hv, nu * ( \div * tensor * \grad ) * del^2 95 ! 96 ! (1) default: hypervis_power=0, hypervis_scaling=0 97 ! (2) Original version for var-res grids. (M. Levy) 98 ! scalar coefficient within each element 99 ! hypervisc_scaling=0 100 ! set hypervis_power>0 and set fine_ne, max_hypervis_courant 101 ! (3) tensor HV var-res grids 102 ! tensor within each element: 103 ! set hypervis_scaling > 0 (typical values would be 3.2 or 4.0) 104 ! hypervis_power=0 105 ! (\div * tensor * \grad) operator uses cartesian laplace 106 ! 107 ! hyperviscosity parameters used for smoothing topography 108 ! 0 = disable 109 ! 0 = disabled 110 ! fix the velocities? 111 ! initial perturbation in JW test case 112 ! initial perturbation in JW test case 113 !pertibation to temperature [like CESM] 114 PUBLIC read_externs_control_mod 115 CONTAINS 116 117 ! module extern variables 118 119 SUBROUTINE read_externs_control_mod(kgen_unit) 120 integer, intent(in) :: kgen_unit 121 READ(UNIT=kgen_unit) vert_remap_q_alg 122 END SUBROUTINE read_externs_control_mod 123 124 125 ! read subroutines 126 END MODULE control_mod 127