Changeset 9403 for branches/2017/dev_merge_2017/NEMOGCM/CONFIG
- Timestamp:
- 2018-03-15T15:57:42+01:00 (6 years ago)
- Location:
- branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL
- Files:
-
- 4 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/EXP00/file_def_nemo-opa.xml
r9302 r9403 9 9 10 10 <file_definition type="one_file" name="@expname@" sync_freq="10d" min_digits="4"> 11 <file_group id="1 d" output_freq="1d" output_level="10" enabled=".TRUE." > <!-- 5d files -->11 <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE." > <!-- 5d files --> 12 12 13 13 <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > … … 15 15 <field field_ref="soce" /> 16 16 <field field_ref="ssh" /> 17 <field field_ref="salgrad" /> 18 <field field_ref="ke_zint" /> 19 <field field_ref="relvor" /> 20 <field field_ref="potvor" /> 21 <field field_ref="saltc" /> 22 <field field_ref="salt2c" /> 17 23 </file> 18 24 … … 20 26 <field field_ref="utau" /> 21 27 <field field_ref="uoce" /> 28 <field_group group_ref="trendU" /> 22 29 </file> 23 30 … … 25 32 <field field_ref="vtau" /> 26 33 <field field_ref="voce" /> 34 <field_group group_ref="trendV" /> 27 35 </file> 28 36 -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/EXP00/namelist_cfg
r9356 r9403 14 14 rn_0xratio = 0.5 ! x-domain ratio of the 0 15 15 rn_0yratio = 0.5 ! y-domain ratio of the 0 16 nn_fcase = 1! F computation (0:f0, 1:Beta, 2:real)16 nn_fcase = 0 ! F computation (0:f0, 1:Beta, 2:real) 17 17 rn_ppgphi0 = 38.5 ! Reference latitude [degrees] 18 18 rn_u10 = 0. ! 10m wind speed [m/s] 19 rn_windszx= 4000. ! longitudinal wind extension [km] 20 rn_windszy= 4000. ! latitudinal wind extension [km] 19 21 rn_uofac = 0. ! Uoce multiplicative factor (0.:absolute or 1.:relative winds) 20 22 rn_vtxmax = 1. ! initial vortex max current [m/s] 21 23 rn_uzonal = 1. ! initial zonal current [m/s] 22 rn_ujetszx= 3500. ! longitudinal jet extension [km]23 rn_ujetszy= 300. ! latitudinal jet extension [km]24 rn_ujetszx= 4000. ! longitudinal jet extension [km] 25 rn_ujetszy= 4000. ! latitudinal jet extension [km] 24 26 nn_botcase = 0 ! bottom definition (0:flat, 1:bump) 25 nn_initcase = 10 ! initial condition case (0:rest, 1:zonal current, 2:vortex) 26 ln_sshnoise = .true. ! add random noise on initial ssh 27 nn_initcase = 1 ! initial condition case (0:rest, 1:zonal current, 2:vortex) 28 ln_sshnoise = .false. ! add random noise on initial ssh 29 ln_sshnoise = .false. ! add random noise on initial ssh 30 rn_lambda = 50. ! gaussian lambda 27 31 / 28 32 !----------------------------------------------------------------------- … … 30 34 !----------------------------------------------------------------------- 31 35 nn_no = 0 ! job number (no more used...) 32 cn_exp = "VORTEX"! experience name36 cn_exp = 'CANAL' ! experience name 33 37 nn_it000 = 1 ! first time step 34 nn_itend = 12000 ! last time step38 nn_itend = 100 ! last time step 35 39 nn_istate = 0 ! output the initial state (1) or not (0) 36 40 nn_stock = 99999 ! frequency of creation of a restart file (modulo referenced to 1) … … 44 48 &namdom ! time and space domain 45 49 !----------------------------------------------------------------------- 46 ln_linssh = . true. ! =T linear free surface ==>> model level are fixed in time50 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 47 51 rn_rdt = 1440. ! time step for the dynamics (and tracer if nn_acc=0) 48 52 rn_atfp = 0.05 ! asselin time filter parameter … … 206 210 &namtra_adv ! advection scheme for tracer (default: NO selection) 207 211 !----------------------------------------------------------------------- 212 ln_traadv_NONE= .false. ! No tracer advection 208 213 ln_traadv_cen = .false. ! 2nd order centered scheme 209 214 nn_cen_h = 4 ! =2/4, horizontal 2nd order CEN / 4th order CEN … … 214 219 ln_traadv_mus = .false. ! MUSCL scheme 215 220 ln_mus_ups = .false. ! use upstream scheme near river mouths 216 ln_traadv_ubs = .true. ! UBS scheme221 ln_traadv_ubs = .true. ! UBS scheme 217 222 nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order 218 223 ln_traadv_qck = .false. ! QUICKEST scheme … … 267 272 &nam_vvl ! vertical coordinate options (default: z-star) 268 273 !----------------------------------------------------------------------- 269 ln_vvl_zstar = . false. ! zstar vertical coordinate274 ln_vvl_zstar = .true. ! zstar vertical coordinate 270 275 / 271 276 !----------------------------------------------------------------------- 272 277 &namdyn_adv ! formulation of the momentum advection (default: NO selection) 273 278 !----------------------------------------------------------------------- 279 ln_dynadv_NONE= .false. ! linear dynamics (no momentum advection) 274 280 ln_dynadv_vec = .false. ! vector form (T) or flux form (F) 275 281 nn_dynkeg = 0 ! scheme for grad(KE): =0 C2 ; =1 Hollingsworth correction … … 280 286 &namdyn_vor ! Vorticity / Coriolis scheme (default: NO) 281 287 !----------------------------------------------------------------------- 282 ln_dynvor_ene = . false. ! enstrophy conserving scheme283 ln_dynvor_ens = . true. ! energy conserving scheme288 ln_dynvor_ene = .true. ! energy conserving scheme 289 ln_dynvor_ens = .false. ! enstrophy conserving scheme 284 290 ln_dynvor_mix = .false. ! mixed scheme 285 291 ln_dynvor_een = .false. ! energy & enstrophy scheme … … 289 295 &namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) 290 296 !----------------------------------------------------------------------- 291 ln_hpg_zps = . true. ! z-coordinate - partial steps (interpolation)292 ln_hpg_sco = . false. ! s-coordinate (standard jacobian formulation)297 ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) 298 ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) 293 299 / 294 300 !----------------------------------------------------------------------- … … 386 392 &namtrd ! trend diagnostics (default F) 387 393 !----------------------------------------------------------------------- 394 ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE 395 ln_dyn_trd = .true. ! (T) 3D momentum trend output 396 ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) 397 ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) 398 ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends 399 ln_PE_trd = .false. ! (T) 3D Potential Energy trends 400 ln_tra_trd = .false. ! (T) 3D tracer trend output 401 ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) 402 nn_trd = 365 ! print frequency (ln_glo_trd=T) (unit=time step) 388 403 / 389 404 !----------------------------------------------------------------------- -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/MY_SRC/domvvl.F90
r9302 r9403 913 913 END DO 914 914 e3t_n(:,:,:) = e3t_b(:,:,:) 915 !!$ sshn(:,:)=0._wp 915 sshn(:,:) = sshb(:,:) ! needed later for gde3w 916 916 !!$ e3t_n(:,:,:)=e3t_0(:,:,:) 917 917 !!$ e3t_b(:,:,:)=e3t_0(:,:,:) -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/MY_SRC/usrdef_hgr.F90
r9302 r9403 3 3 !! *** MODULE usrdef_hgr *** 4 4 !! 5 !! === VORTEXconfiguration ===5 !! === CANAL configuration === 6 6 !! 7 7 !! User defined : mesh and Coriolis parameter of a user configuration … … 11 11 12 12 !!---------------------------------------------------------------------- 13 !! usr_def_hgr : initialize the horizontal mesh for VORTEXconfiguration13 !! usr_def_hgr : initialize the horizontal mesh for CANAL configuration 14 14 !!---------------------------------------------------------------------- 15 15 USE dom_oce ! ocean space and time domain … … 45 45 !! 46 46 !! ** Method : set all intent(out) argument to a proper value 47 !! VORTEXconfiguration : beta-plance with uniform grid spacing (rn_dx)47 !! CANAL configuration : beta-plance with uniform grid spacing (rn_dx) 48 48 !! 49 49 !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in degrees) … … 67 67 ! 68 68 IF(lwp) WRITE(numout,*) 69 IF(lwp) WRITE(numout,*) 'usr_def_hgr : VORTEXconfiguration bassin'69 IF(lwp) WRITE(numout,*) 'usr_def_hgr : CANAL configuration bassin' 70 70 IF(lwp) WRITE(numout,*) 71 71 IF(lwp) WRITE(numout,*) ' Beta-plane with regular grid-spacing' … … 75 75 ! Position coordinates (in kilometers) 76 76 ! ========== 77 zlam0 = - NINT(jpiglo*rn_0xratio) * rn_dx78 zphi0 = - NINT(jpjglo*rn_0yratio) * rn_dy77 zlam0 = -REAL(NINT(jpiglo*rn_0xratio)-1, wp) * rn_dx 78 zphi0 = -REAL(NINT(jpjglo*rn_0yratio)-1, wp) * rn_dy 79 79 80 80 #if defined key_agrif -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/MY_SRC/usrdef_istate.F90
r9302 r9403 3 3 !! *** MODULE usrdef_istate *** 4 4 !! 5 !! === VORTEXconfiguration ===5 !! === CANAL configuration === 6 6 !! 7 7 !! User defined : set the initial state of a user configuration … … 14 14 !!---------------------------------------------------------------------- 15 15 USE par_oce ! ocean space and time domain 16 USE dom_oce , ONLY : glamt, gphit, glamu, gphiu, glamv, gphiv, ff_t, ff_f16 USE dom_oce 17 17 USE phycst ! physical constants 18 18 ! … … 21 21 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 22 22 ! 23 USE usrdef_nam , ONLY : rn_ppgphi0, rn_vtxmax, rn_uzonal, rn_ujetszx, rn_ujetszy, nn_initcase, ln_sshnoise !23 USE usrdef_nam 24 24 25 25 IMPLICIT NONE … … 40 40 !! 41 41 !! ** Purpose : Initialization of the dynamics and tracers 42 !! Here VORTEXconfiguration42 !! Here CANAL configuration 43 43 !! 44 44 !! ** Method : Set a gaussian anomaly of pressure and associated … … 56 56 REAL(wp) :: zpsurf, zdyPs, zdxPs 57 57 REAL(wp) :: zdt, zdu, zdv 58 REAL(wp) :: zjetx, zjety 58 REAL(wp) :: zjetx, zjety, zbeta 59 59 REAL(wp), DIMENSION(jpi,jpj) :: zrandom 60 60 !!---------------------------------------------------------------------- 61 61 ! 62 62 IF(lwp) WRITE(numout,*) 63 IF(lwp) WRITE(numout,*) 'usr_def_istate : VORTEXconfiguration, analytical definition of initial state'63 IF(lwp) WRITE(numout,*) 'usr_def_istate : CANAL configuration, analytical definition of initial state' 64 64 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ ' 65 65 ! … … 74 74 pssh(:,:) = 0. 75 75 ! temperature: 76 pts(:,:,:,jp_tem) = 10._wp * ptmask(:,:,:)77 ! salinity: 78 pts(:,:,:,jp_sal) = 35._wp * ptmask(:,:,:)76 pts(:,:,:,jp_tem) = 10._wp 77 ! salinity: 78 pts(:,:,:,jp_sal) = 35._wp 79 79 ! velocities: 80 80 pu(:,:,:) = 0. … … 82 82 83 83 CASE(1) ! geostrophic zonal jet from -zjety to +zjety 84 85 ! sea level: ssh = - fuy / g 86 WHERE( ABS(gphit) <= zjety ) 87 pssh(:,:) = - ff_t(:,:) * rn_uzonal * gphit(:,:) * 1.e3 / grav * ptmask(:,:,1) 88 ELSEWHERE 89 pssh(:,:) = - ff_t(:,:) * rn_uzonal * SIGN(zjety, gphit(:,:)) * 1.e3 / grav * ptmask(:,:,1) 90 END WHERE 91 ! temperature: 92 pts(:,:,:,jp_tem) = 10._wp * ptmask(:,:,:) 93 ! salinity: 94 pts(:,:,:,jp_sal) = 1._wp * ptmask(:,:,:) 95 DO jk=1, jpkm1 96 WHERE( ABS(gphit) <= zjety ) pts(:,:,jk,jp_sal) = 2. 84 85 ! sea level: 86 SELECT CASE( nn_fcase ) 87 CASE(0) ! f = f0 88 ! sea level: ssh = - fuy / g 89 WHERE( ABS(gphit) <= zjety ) 90 pssh(:,:) = - ff_t(:,:) * rn_uzonal * gphit(:,:) * 1.e3 / grav 91 ELSEWHERE 92 pssh(:,:) = - ff_t(:,:) * rn_uzonal * SIGN(zjety, gphit(:,:)) * 1.e3 / grav 93 END WHERE 94 CASE(1) ! f = f0 + beta*y 95 ! sea level: ssh = - u / g * ( fy + 0.5 * beta * y^2 ) 96 zbeta = 2._wp * omega * COS( rad * rn_ppgphi0 ) / ra 97 WHERE( ABS(gphit) <= zjety ) 98 pssh(:,:) = - rn_uzonal / grav * ( ff_t(:,:) * gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 ) 99 ELSEWHERE 100 pssh(:,:) = - rn_uzonal / grav * ( ff_t(:,:) * SIGN(zjety, gphit(:,:)) * 1.e3 & 101 & + 0.5 * zbeta * zjety * zjety * 1.e6 ) 102 END WHERE 103 END SELECT 104 ! temperature: 105 pts(:,:,:,jp_tem) = 10._wp 106 ! salinity: 107 pts(:,:,jpk,jp_sal) = 0. 108 DO jk=1, jpkm1 109 pts(:,:,jk,jp_sal) = gphit(:,:) 97 110 END DO 98 111 ! velocities: … … 102 115 END DO 103 116 pv(:,:,:) = 0. 104 105 CASE(10) ! geostrophic zonal current shear 106 107 ! sea level: ssh = - fuy / g 108 WHERE( ABS(gphit) <= zjety ) 109 pssh(:,:) = - ff_t(:,:) * rn_uzonal * ABS(gphit(:,:) * 1.e3) / grav * ptmask(:,:,1) 110 ELSEWHERE 111 pssh(:,:) = - ff_t(:,:) * rn_uzonal * zjety * 1.e3 / grav * ptmask(:,:,1) 112 END WHERE 113 ! temperature: 114 pts(:,:,:,jp_tem) = 10._wp * ptmask(:,:,:) 115 ! salinity: 116 pts(:,:,:,jp_sal) = 2._wp * ptmask(:,:,:) 117 DO jk=1, jpkm1 118 WHERE( ABS(gphit) <= zjety ) pts(:,:,jk,jp_sal) = 2. + SIGN(1.,gphit(:,:)) 117 ! 118 CASE(2) ! geostrophic zonal current shear 119 120 ! sea level: 121 SELECT CASE( nn_fcase ) 122 CASE(0) ! f = f0 123 ! sea level: ssh = - fuy / g 124 WHERE( ABS(gphit) <= zjety ) 125 pssh(:,:) = - ff_t(:,:) * rn_uzonal * ABS(gphit(:,:)) * 1.e3 / grav 126 ELSEWHERE 127 pssh(:,:) = - ff_t(:,:) * rn_uzonal * zjety * 1.e3 / grav 128 END WHERE 129 CASE(1) ! f = f0 + beta*y 130 ! sea level: ssh = - u / g * ( fy + 0.5 * beta * y^2 ) 131 zbeta = 2._wp * omega * COS( rad * rn_ppgphi0 ) / ra 132 WHERE( ABS(gphit) <= zjety ) 133 pssh(:,:) = - SIGN(rn_uzonal, gphit(:,:)) / grav & 134 & * ( ff_t(:,:) * gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 ) 135 ELSEWHERE 136 pssh(:,:) = - SIGN(rn_uzonal, gphit(:,:)) / grav & 137 & * ( ff_t(:,:) * SIGN(zjety, gphit(:,:)) * 1.e3 + 0.5 * zbeta * zjety * zjety * 1.e6 ) 138 END WHERE 139 END SELECT 140 ! temperature: 141 pts(:,:,:,jp_tem) = 10._wp 142 ! salinity: 143 pts(:,:,:,jp_sal) = 2. 144 DO jk=1, jpkm1 145 WHERE( ABS(gphiv) <= zjety ) pts(:,:,jk,jp_sal) = 2. + SIGN(1.,gphiv(:,:)) 119 146 END DO 120 147 ! velocities: 121 148 pu(:,:,:) = 0. 122 149 DO jk=1, jpkm1 123 WHERE( ABS(gphit) <= zjety ) pu(:,:,jk) = SIGN(rn_uzonal,gphit(:,:))*SIGN(1.,rn_uzonal) 124 WHERE( ABS(gphit) == 0. ) pu(:,:,jk) = 0. 125 END DO 126 pv(:,:,:) = 0. 127 128 CASE(11) ! geostrophic zonal pulse 150 WHERE( ABS(gphiv) <= zjety ) pu(:,:,jk) = SIGN(rn_uzonal,gphit(:,:))*SIGN(1.,rn_uzonal) 151 WHERE( ABS(gphiv) == 0. ) pu(:,:,jk) = 0. 152 END DO 153 pv(:,:,:) = 0. 154 ! 155 CASE(3) ! gaussian zonal currant 156 157 ! zonal current 158 DO jk=1, jpkm1 159 ! gphit and lambda are both in km 160 pu(:,:,jk) = rn_uzonal * EXP( - 0.5 * gphit(:,:)**2 / rn_lambda**2 ) 161 END DO 162 163 ! sea level: 164 pssh(:,1) = - ff_t(:,1) / grav * pu(:,1,1) * e2t(:,1) 165 DO jl=1, jpnj 166 DO jj=nldj, nlej 167 DO ji=nldi, nlei 168 pssh(ji,jj) = pssh(ji,jj-1) - ff_t(ji,jj) / grav * pu(ji,jj,1) * e2t(ji,jj) 169 END DO 170 END DO 171 CALL lbc_lnk( pssh, 'T', 1. ) 172 END DO 173 174 ! temperature: 175 pts(:,:,:,jp_tem) = 10._wp 176 ! salinity: 177 DO jk=1, jpkm1 178 pts(:,:,jk,jp_sal) = gphit(:,:) 179 END DO 180 ! velocities: 181 pv(:,:,:) = 0. 182 ! 183 CASE(4) ! geostrophic zonal pulse 129 184 130 185 DO jj=1, jpj … … 138 193 END IF 139 194 IF ( ABS(gphit(ji,jj)) <= zjety ) THEN 140 pssh(ji,jj) = - ff_t(ji,jj) * zdu * gphit(ji,jj) * 1.e3 / grav * ptmask(ji,jj,1)195 pssh(ji,jj) = - ff_t(ji,jj) * zdu * gphit(ji,jj) * 1.e3 / grav 141 196 pu(ji,jj,:) = zdu 142 197 pts(ji,jj,:,jp_sal) = zdu / rn_uzonal + 1. 143 198 ELSE 144 pssh(ji,jj) = - ff_t(ji,jj) * zdu * SIGN(zjety,gphit(ji,jj)) * 1.e3 / grav * ptmask(ji,jj,1)199 pssh(ji,jj) = - ff_t(ji,jj) * zdu * SIGN(zjety,gphit(ji,jj)) * 1.e3 / grav 145 200 pu(ji,jj,:) = 0. 146 201 pts(ji,jj,:,jp_sal) = 1. … … 153 208 pv(:,:,:) = 0. 154 209 155 CASE(2) ! vortex 210 211 CASE(5) ! vortex 156 212 ! 157 213 zf0 = 2._wp * omega * SIN( rad * rn_ppgphi0 ) 158 214 zumax = rn_vtxmax * SIGN(1._wp, zf0) ! Here Anticyclonic: set zumax=-1 for cyclonic 159 zlambda = SQRT(2._wp)* 60.e3! Horizontal scale in meters215 zlambda = SQRT(2._wp)*rn_lambda ! Horizontal scale in meters 160 216 zn2 = 3.e-3**2 161 217 zH = 0.5_wp * 5000._wp … … 233 289 END SELECT 234 290 235 IF (ln_sshnoise) pssh(:,:) = pssh(:,:) + (0.1*zrandom-0.05) 291 IF (ln_sshnoise) CALL RANDOM_NUMBER(zrandom) 292 IF (ln_sshnoise) THEN 293 CALL RANDOM_NUMBER(zrandom) 294 pssh(:,:) = pssh(:,:) + ( 0.1 * zrandom(:,:) - 0.05 ) 295 END IF 236 296 CALL lbc_lnk( pssh, 'T', 1. ) 237 297 CALL lbc_lnk( pts, 'T', 1. ) -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/MY_SRC/usrdef_nam.F90
r9302 r9403 39 39 REAL(wp), PUBLIC :: rn_ppgphi0 = 38.5 ! reference latitude for beta-plane 40 40 REAL(wp), PUBLIC :: rn_u10 = 0. ! 10m wind speed [m/s] 41 REAL(wp), PUBLIC :: rn_windszx = 150. ! longitudinal wind extension [km] 42 REAL(wp), PUBLIC :: rn_windszy = 150. ! latitudinal wind extension [km] 41 43 REAL(wp), PUBLIC :: rn_uofac = 0. ! Uoce multiplicative factor (0.:absolute or 1.:relative winds) 42 REAL(wp), PUBLIC :: rn_vtxmax = 0. ! initial vortexmax current [m/s]44 REAL(wp), PUBLIC :: rn_vtxmax = 0. ! initial canal max current [m/s] 43 45 REAL(wp), PUBLIC :: rn_uzonal = 0. ! initial zonal current [m/s] 44 46 REAL(wp), PUBLIC :: rn_ujetszx = 150. ! longitudinal jet extension [km] 45 47 REAL(wp), PUBLIC :: rn_ujetszy = 150. ! latitudinal jet extension [km] 46 48 INTEGER , PUBLIC :: nn_botcase = 0 ! bottom definition (0:flat, 1:bump) 47 INTEGER , PUBLIC :: nn_initcase= 0 ! initial condition case (0=rest, 1=zonal current, 2= vortex)49 INTEGER , PUBLIC :: nn_initcase= 0 ! initial condition case (0=rest, 1=zonal current, 2=canal) 48 50 LOGICAL , PUBLIC :: ln_sshnoise=.false. ! add random noise on initial ssh 51 REAL(wp), PUBLIC :: rn_lambda = 50. ! gaussian lambda 49 52 50 53 !!---------------------------------------------------------------------- … … 77 80 !! 78 81 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_dz, rn_0xratio, rn_0yratio & 79 & , nn_fcase, rn_ppgphi0, rn_vtxmax, rn_uzonal, rn_u10, rn_uofac, rn_ujetszx, rn_ujetszy & 80 & , nn_botcase, nn_initcase, ln_sshnoise 82 & , nn_fcase, rn_ppgphi0, rn_vtxmax, rn_uzonal, rn_ujetszx, rn_ujetszy & 83 & , rn_u10, rn_windszx, rn_windszy, rn_uofac & 84 & , nn_botcase, nn_initcase, ln_sshnoise, rn_lambda 81 85 !!---------------------------------------------------------------------- 82 86 ! … … 133 137 WRITE(ldtxt(ii),*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 ; ii = ii + 1 134 138 WRITE(ldtxt(ii),*) ' 10m wind speed rn_u10 = ', rn_u10, ' m/s' ; ii = ii + 1 135 WRITE(ldtxt(ii),*) ' Uoce multiplicative factor rn_uofac = ', rn_uofac ; ii = ii + 1 136 WRITE(ldtxt(ii),*) ' initial Vortex max current rn_vtxmax = ', rn_vtxmax, ' m/s' ; ii = ii + 1 139 WRITE(ldtxt(ii),*) ' wind latitudinal extension rn_windszy = ', rn_windszy, ' km' ; ii = ii + 1 140 WRITE(ldtxt(ii),*) ' wind longitudinal extension rn_windszx = ', rn_windszx, ' km' ; ii = ii + 1 141 WRITE(ldtxt(ii),*) ' Uoce multiplicative factor rn_uofac = ', rn_uofac ; ii = ii + 1 142 WRITE(ldtxt(ii),*) ' initial Canal max current rn_vtxmax = ', rn_vtxmax, ' m/s' ; ii = ii + 1 137 143 WRITE(ldtxt(ii),*) ' initial zonal current rn_uzonal = ', rn_uzonal, ' m/s' ; ii = ii + 1 138 WRITE(ldtxt(ii),*) ' Jet latitudinal extension rn_ujetszy = ', rn_ujetszy, ' km' ; ii = ii + 1 144 WRITE(ldtxt(ii),*) ' Jet latitudinal extension rn_ujetszy = ', rn_ujetszy, ' km' ; ii = ii + 1 145 WRITE(ldtxt(ii),*) ' Jet longitudinal extension rn_ujetszx = ', rn_ujetszx, ' km' ; ii = ii + 1 139 146 WRITE(ldtxt(ii),*) ' bottom definition (0:flat) nn_botcase = ', nn_botcase ; ii = ii + 1 140 147 WRITE(ldtxt(ii),*) ' initial condition case nn_initcase= ', nn_initcase ; ii = ii + 1 141 WRITE(ldtxt(ii),*) ' (0:rest, 1:zonal current, 2:vortex)' ; ii = ii + 1148 WRITE(ldtxt(ii),*) ' (0:rest, 1:zonal current, 10:shear)' ; ii = ii + 1 142 149 WRITE(ldtxt(ii),*) ' add random noise on initial ssh ln_sshnoise= ', ln_sshnoise ; ii = ii + 1 150 WRITE(ldtxt(ii),*) ' Gaussian lambda parameter rn_lambda = ', rn_lambda ; ii = ii + 1 143 151 ! 144 152 ! ! Set the lateral boundary condition of the global domain -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/MY_SRC/usrdef_sbc.F90
r9302 r9403 3 3 !! *** MODULE usrdef_sbc *** 4 4 !! 5 !! === VORTEXconfiguration ===5 !! === CANAL configuration === 6 6 !! 7 7 !! User defined : surface forcing of a user configuration … … 17 17 USE sbc_oce ! Surface boundary condition: ocean fields 18 18 USE phycst ! physical constants 19 USE usrdef_nam, ONLY : rn_u10, rn_uofac, rn_ ujetszy19 USE usrdef_nam, ONLY : rn_u10, rn_uofac, rn_windszy 20 20 ! 21 21 USE in_out_manager ! I/O manager … … 47 47 !! condition, i.e. the momentum, heat and freshwater fluxes. 48 48 !! 49 !! ** Method : all 0 fields, for VORTEXcase49 !! ** Method : all 0 fields, for CANAL case 50 50 !! CAUTION : never mask the surface stress field ! 51 51 !! … … 71 71 ! 72 72 utau(:,:) = 0._wp 73 IF( rn_u10 /= 0. .AND. rn_ ujetszy > 0. ) THEN74 WHERE( ABS(gphit) <= rn_ ujetszy/2. ) utau(:,:) = zrhocd * rn_u10 * rn_u1073 IF( rn_u10 /= 0. .AND. rn_windszy > 0. ) THEN 74 WHERE( ABS(gphit) <= rn_windszy/2. ) utau(:,:) = zrhocd * rn_u10 * rn_u10 75 75 ENDIF 76 76 vtau(:,:) = 0._wp … … 87 87 IF( rn_uofac /= 0. ) THEN 88 88 89 WHERE( ABS(gphit) <= rn_ ujetszy/2. )89 WHERE( ABS(gphit) <= rn_windszy/2. ) 90 90 zwndrel(:,:) = rn_u10 - rn_uofac * un(:,:,1) 91 91 ELSEWHERE -
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/CANAL/MY_SRC/usrdef_zgr.F90
r9302 r9403 3 3 !! *** MODULE usrdef_zgr *** 4 4 !! 5 !! === VORTEXconfiguration ===5 !! === CANAL configuration === 6 6 !! 7 7 !! User defined : vertical coordinate system of a user configuration … … 67 67 ! 68 68 IF(lwp) WRITE(numout,*) 69 IF(lwp) WRITE(numout,*) 'usr_def_zgr : VORTEXconfiguration (z-coordinate closed flat box ocean)'69 IF(lwp) WRITE(numout,*) 'usr_def_zgr : CANAL configuration (z-coordinate closed flat box ocean)' 70 70 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 71 71 ! … … 73 73 ! type of vertical coordinate 74 74 ! --------------------------- 75 ld_zco = .TRUE. ! VORTEXcase: z-coordinate without ocean cavities75 ld_zco = .TRUE. ! CANAL case: z-coordinate without ocean cavities 76 76 ld_zps = .FALSE. 77 77 ld_sco = .FALSE. … … 137 137 WRITE(numout,*) ' zgr_z : Reference vertical z-coordinates ' 138 138 WRITE(numout,*) ' ~~~~~~~' 139 WRITE(numout,*) ' VORTEXcase : uniform vertical grid :'139 WRITE(numout,*) ' CANAL case : uniform vertical grid :' 140 140 WRITE(numout,*) ' with thickness = ', zd 141 141 ENDIF … … 175 175 !! ** Purpose : set the masked top and bottom ocean t-levels 176 176 !! 177 !! ** Method : VORTEXcase = closed flat box ocean without ocean cavities177 !! ** Method : CANAL case = closed flat box ocean without ocean cavities 178 178 !! k_top = 1 except along north, south, east and west boundaries 179 179 !! k_bot = jpk-1 except along north, south, east and west boundaries … … 191 191 IF(lwp) WRITE(numout,*) ' zgr_top_bot : defines the top and bottom wet ocean levels.' 192 192 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~' 193 IF(lwp) WRITE(numout,*) ' VORTEXcase : closed flat box ocean without ocean cavities'193 IF(lwp) WRITE(numout,*) ' CANAL case : closed flat box ocean without ocean cavities' 194 194 ! 195 195 SELECT CASE(nn_botcase)
Note: See TracChangeset
for help on using the changeset viewer.