Changeset 12751 for NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/tests/CANAL/MY_SRC/usrdef_istate.F90
- Timestamp:
- 2020-04-16T09:44:23+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/tests/CANAL/MY_SRC/usrdef_istate.F90
r10425 r12751 64 64 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ ' 65 65 ! 66 IF (ln_sshnoise) CALL RANDOM_NUMBER(zrandom)67 66 zjetx = ABS(rn_ujetszx)/2. 68 67 zjety = ABS(rn_ujetszy)/2. 69 68 ! 69 zf0 = 2._wp * omega * SIN( rad * rn_ppgphi0 ) 70 ! 70 71 SELECT CASE(nn_initcase) 72 73 CASE(-1) ! stratif at rest 74 75 ! sea level: 76 pssh(:,:) = 0. 77 ! temperature: 78 pts(:,:,1,jp_tem) = 25. !!30._wp 79 pts(:,:,2:jpk,jp_tem) = 22. !!24._wp 80 ! salinity: 81 pts(:,:,:,jp_sal) = 35._wp 82 ! velocities: 83 pu(:,:,:) = 0. 84 pv(:,:,:) = 0. 85 71 86 CASE(0) ! rest 72 87 … … 96 111 zbeta = 2._wp * omega * COS( rad * rn_ppgphi0 ) / ra 97 112 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 &113 pssh(:,:) = - rn_uzonal / grav * ( zf0 * gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 ) 114 ELSEWHERE 115 pssh(:,:) = - rn_uzonal / grav * ( zf0 * SIGN(zjety, gphit(:,:)) * 1.e3 & 101 116 & + 0.5 * zbeta * zjety * zjety * 1.e6 ) 102 117 END WHERE … … 107 122 pts(:,:,jpk,jp_sal) = 0. 108 123 DO jk=1, jpkm1 109 pts(:,:,jk,jp_sal) = gphit(:,:) 124 WHERE( ABS(gphit) <= zjety ) 125 !!$ WHERE( ABS(gphit) <= zjety*0.5 .AND. ABS(glamt) <= zjety*0.5 ) ! for a square of salt 126 pts(:,:,jk,jp_sal) = 35. 127 ELSEWHERE 128 pts(:,:,jk,jp_sal) = 30. 129 END WHERE 110 130 END DO 111 131 ! velocities: … … 132 152 WHERE( ABS(gphit) <= zjety ) 133 153 pssh(:,:) = - SIGN(rn_uzonal, gphit(:,:)) / grav & 134 & * ( ff_t(:,:)* gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 )154 & * ( zf0 * gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 ) 135 155 ELSEWHERE 136 156 pssh(:,:) = - SIGN(rn_uzonal, gphit(:,:)) / grav & 137 & * ( ff_t(:,:)* SIGN(zjety, gphit(:,:)) * 1.e3 + 0.5 * zbeta * zjety * zjety * 1.e6 )157 & * ( zf0 * SIGN(zjety, gphit(:,:)) * 1.e3 + 0.5 * zbeta * zjety * zjety * 1.e6 ) 138 158 END WHERE 139 159 END SELECT … … 141 161 pts(:,:,:,jp_tem) = 10._wp 142 162 ! salinity: 143 pts(:,:,:,jp_sal) = 2.144 DO jk=1, jpkm1 145 WHERE( ABS(gphiv) <= zjety ) pts(:,:,jk,jp_sal) = 2. + SIGN(1.,gphiv(:,:))163 pts(:,:,:,jp_sal) = 30. 164 DO jk=1, jpkm1 165 WHERE( ABS(gphiv) <= zjety ) pts(:,:,jk,jp_sal) = 30. + SIGN(1.,gphiv(:,:)) 146 166 END DO 147 167 ! velocities: … … 176 196 ! salinity: 177 197 DO jk=1, jpkm1 178 pts(:,:,jk,jp_sal) = gphit(:,:)198 pts(:,:,jk,jp_sal) = pssh(:,:) 179 199 END DO 180 200 ! velocities: … … 213 233 zf0 = 2._wp * omega * SIN( rad * rn_ppgphi0 ) 214 234 zumax = rn_vtxmax * SIGN(1._wp, zf0) ! Here Anticyclonic: set zumax=-1 for cyclonic 215 zlambda = SQRT(2._wp)*rn_lambda ! Horizontal scale in meters235 zlambda = SQRT(2._wp)*rn_lambda*1.e3 ! Horizontal scale in meters 216 236 zn2 = 3.e-3**2 217 237 zH = 0.5_wp * 5000._wp … … 253 273 ! velocities: 254 274 za = 2._wp * zP0 / zlambda**2 255 DO jj =1, jpj256 DO ji =1, jpim1275 DO jj = 2, jpjm1 276 DO ji = 2, jpim1 257 277 zx = glamu(ji,jj) * 1.e3 258 278 zy = gphiu(ji,jj) * 1.e3 … … 270 290 END DO 271 291 ! 272 DO jj =1, jpjm1273 DO ji =1, jpi292 DO jj = 2, jpjm1 293 DO ji = 2, jpim1 274 294 zx = glamv(ji,jj) * 1.e3 275 295 zy = gphiv(ji,jj) * 1.e3 … … 287 307 END DO 288 308 ! 309 CALL lbc_lnk_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 310 289 311 END SELECT 290 312 291 313 IF (ln_sshnoise) THEN 314 CALL RANDOM_SEED() 292 315 CALL RANDOM_NUMBER(zrandom) 293 316 pssh(:,:) = pssh(:,:) + ( 0.1 * zrandom(:,:) - 0.05 ) 294 317 END IF 295 CALL lbc_lnk( 'usrdef_istate', pssh, 'T', 1. ) 296 CALL lbc_lnk( 'usrdef_istate', pts, 'T', 1. ) 297 CALL lbc_lnk( 'usrdef_istate', pu, 'U', -1. ) 298 CALL lbc_lnk( 'usrdef_istate', pv, 'V', -1. ) 299 318 300 319 END SUBROUTINE usr_def_istate 301 320
Note: See TracChangeset
for help on using the changeset viewer.