Changeset 12511 for NEMO/branches/2020/r12377_ticket2386/tests/CANAL
- Timestamp:
- 2020-03-05T12:21:05+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/r12377_ticket2386
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r12377_ticket2386
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev _r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD ext/AGRIF5 ^/vendors/AGRIF/dev@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 9 # SETTE 10 ^/utils/CI/sette@HEAD sette
-
- Property svn:externals
-
NEMO/branches/2020/r12377_ticket2386/tests/CANAL/EXPREF/namelist_cfg
r12377 r12511 59 59 !----------------------------------------------------------------------- 60 60 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 61 rn_ rdt = 1440. ! time step for the dynamics (and tracer if nn_acc=0)61 rn_Dt = 1440. ! time step for the dynamics (and tracer if nn_acc=0) 62 62 rn_atfp = 0.05 ! asselin time filter parameter 63 63 / … … 208 208 ln_bt_av = .true. ! Time filtering of barotropic variables 209 209 nn_bt_flt = 1 ! Time filter choice = 0 None 210 ! ! = 1 Boxcar over nn_ barosub-steps211 ! ! = 2 Boxcar over 2*nn_ baro" "210 ! ! = 1 Boxcar over nn_e sub-steps 211 ! ! = 2 Boxcar over 2*nn_e " " 212 212 ln_bt_auto = .false. ! Number of sub-step defined from: 213 nn_ baro = 24 ! =F : the number of sub-step in rn_rdt seconds213 nn_e = 24 ! =F : the number of sub-step in rn_Dt seconds 214 214 / 215 215 !----------------------------------------------------------------------- -
NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/diawri.F90
r12377 r12511 169 169 170 170 IF ( iom_use("taubot") ) THEN ! bottom stress 171 zztmp = r au0 * 0.25171 zztmp = rho0 * 0.25 172 172 z2d(:,:) = 0._wp 173 173 DO jj = 2, jpjm1 … … 212 212 IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN ! vertical mass transport & its square value 213 213 ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 214 z2d(:,:) = r au0 * e1e2t(:,:)214 z2d(:,:) = rho0 * e1e2t(:,:) 215 215 DO jk = 1, jpk 216 216 z3d(:,:,jk) = ww(:,:,jk) * z2d(:,:) … … 272 272 END DO 273 273 END DO 274 CALL iom_put( "heatc", r au0_rcp * z2d ) ! vertically integrated heat content (J/m2)274 CALL iom_put( "heatc", rho0_rcp * z2d ) ! vertically integrated heat content (J/m2) 275 275 ENDIF 276 276 … … 284 284 END DO 285 285 END DO 286 CALL iom_put( "saltc", r au0 * z2d ) ! vertically integrated salt content (PSU*kg/m2)286 CALL iom_put( "saltc", rho0 * z2d ) ! vertically integrated salt content (PSU*kg/m2) 287 287 ENDIF 288 288 ! … … 296 296 END DO 297 297 END DO 298 CALL iom_put( "salt2c", r au0 * z2d ) ! vertically integrated salt content (PSU*kg/m2)298 CALL iom_put( "salt2c", rho0 * z2d ) ! vertically integrated salt content (PSU*kg/m2) 299 299 ENDIF 300 300 ! … … 395 395 z2d(:,:) = 0.e0 396 396 DO jk = 1, jpkm1 397 z3d(:,:,jk) = r au0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk)397 z3d(:,:,jk) = rho0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk) 398 398 z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 399 399 END DO … … 432 432 z3d(:,:,jpk) = 0.e0 433 433 DO jk = 1, jpkm1 434 z3d(:,:,jk) = r au0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk)434 z3d(:,:,jk) = rho0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk) 435 435 END DO 436 436 CALL iom_put( "v_masstr", z3d ) ! mass transport in j-direction … … 473 473 END DO 474 474 CALL lbc_lnk( 'diawri', z2d, 'T', -1. ) 475 CALL iom_put( "tosmint", r au0 * z2d ) ! Vertical integral of temperature475 CALL iom_put( "tosmint", rho0 * z2d ) ! Vertical integral of temperature 476 476 ENDIF 477 477 IF( iom_use("somint") ) THEN … … 485 485 END DO 486 486 CALL lbc_lnk( 'diawri', z2d, 'T', -1. ) 487 CALL iom_put( "somint", r au0 * z2d ) ! Vertical integral of salinity487 CALL iom_put( "somint", rho0 * z2d ) ! Vertical integral of salinity 488 488 ENDIF 489 489 … … 563 563 clop = "x" ! no use of the mask value (require less cpu time and otherwise the model crashes) 564 564 #if defined key_diainstant 565 zsto = nn_write * r dt565 zsto = nn_write * rn_Dt 566 566 clop = "inst("//TRIM(clop)//")" 567 567 #else 568 zsto=r dt568 zsto=rn_Dt 569 569 clop = "ave("//TRIM(clop)//")" 570 570 #endif 571 zout = nn_write * r dt572 zmax = ( nitend - nit000 + 1 ) * r dt571 zout = nn_write * rn_Dt 572 zmax = ( nitend - nit000 + 1 ) * rn_Dt 573 573 574 574 ! Define indices of the horizontal output zoom and vertical limit storage … … 590 590 591 591 ! Compute julian date from starting date of the run 592 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )592 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 593 593 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 594 594 IF(lwp)WRITE(numout,*) … … 612 612 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 613 613 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 614 & nit000-1, zjulian, r dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )614 & nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 615 615 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 616 616 & "m", ipk, gdept_1d, nz_T, "down" ) … … 648 648 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 649 649 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 650 & nit000-1, zjulian, r dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )650 & nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 651 651 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 652 652 & "m", ipk, gdept_1d, nz_U, "down" ) … … 661 661 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 662 662 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 663 & nit000-1, zjulian, r dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )663 & nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 664 664 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 665 665 & "m", ipk, gdept_1d, nz_V, "down" ) … … 674 674 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 675 675 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 676 & nit000-1, zjulian, r dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )676 & nit000-1, zjulian, rn_Dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 677 677 CALL histvert( nid_W, "depthw", "Vertical W levels", & ! Vertical grid: gdepw 678 678 & "m", ipk, gdepw_1d, nz_W, "down" ) -
NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/domvvl.F90
r12377 r12511 209 209 IF( ln_vvl_ztilde_as_zstar ) THEN ! z-star emulation using z-tile 210 210 frq_rst_e3t(:,:) = 0._wp !Ignore namelist settings 211 frq_rst_hdv(:,:) = 1._wp / r dt211 frq_rst_hdv(:,:) = 1._wp / rn_Dt 212 212 ENDIF 213 213 IF ( ln_vvl_zstar_at_eqtor ) THEN ! use z-star in vicinity of the Equator … … 222 222 ! values inside the equatorial band (ztilde as zstar) 223 223 frq_rst_e3t(ji,jj) = 0.0_wp 224 frq_rst_hdv(ji,jj) = 1.0_wp / r dt224 frq_rst_hdv(ji,jj) = 1.0_wp / rn_Dt 225 225 ELSE ! transition band (2.5 to 6 degrees N/S) 226 226 ! ! (linearly transition from z-tilde to z-star) … … 228 228 & * ( 1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp) & 229 229 & * 180._wp / 3.5_wp ) ) 230 frq_rst_hdv(ji,jj) = (1.0_wp / r dt) &231 & + ( frq_rst_hdv(ji,jj)-(1.e0_wp / r dt) )*0.5_wp &230 frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt) & 231 & + ( frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp & 232 232 & * ( 1._wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp) & 233 233 & * 180._wp / 3.5_wp ) ) … … 240 240 ij0 = 128 ; ij1 = 135 ; 241 241 frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.0_wp 242 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / r dt242 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / rn_Dt 243 243 ENDIF 244 244 ENDIF … … 295 295 INTEGER :: ji, jj, jk ! dummy loop indices 296 296 INTEGER , DIMENSION(3) :: ijk_max, ijk_min ! temporary integers 297 REAL(wp) :: z 2dt, z_tmin, z_tmax! local scalars297 REAL(wp) :: z_tmin, z_tmax ! local scalars 298 298 LOGICAL :: ll_do_bclinic ! local logical 299 299 REAL(wp), DIMENSION(jpi,jpj) :: zht, z_scale, zwu, zwv, zhdiv … … 349 349 IF( kt > nit000 ) THEN 350 350 DO jk = 1, jpkm1 351 hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - r dt * frq_rst_hdv(:,:) &351 hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:) & 352 352 & * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) ) 353 353 END DO … … 418 418 ! Leapfrog time stepping 419 419 ! ~~~~~~~~~~~~~~~~~~~~~~ 420 IF( neuler == 0 .AND. kt == nit000 ) THEN421 z2dt = rdt422 ELSE423 z2dt = 2.0_wp * rdt424 ENDIF425 420 CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 426 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)421 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 427 422 428 423 ! Maximum deformation control … … 610 605 ! - ML - e3(t/u/v)_b are allready computed in dynnxt. 611 606 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 612 IF( neuler == 0 .AND. kt == nit000) THEN607 IF( l_1st_euler ) THEN 613 608 tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) 614 609 ELSE 615 610 tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) & 616 & + atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )611 & + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) ) 617 612 ENDIF 618 613 tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:) … … 827 822 e3t(:,:,:,Kbb) = e3t_0(:,:,:) 828 823 END WHERE 829 IF( neuler == 0) THEN824 IF( l_1st_euler ) THEN 830 825 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 831 826 ENDIF … … 833 828 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files' 834 829 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 835 IF(lwp) write(numout,*) ' neuler is forced to 0'830 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 836 831 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 837 832 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 838 neuler = 0833 l_1st_euler = .true. 839 834 ELSE IF( id2 > 0 ) THEN 840 835 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files' 841 836 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 842 IF(lwp) write(numout,*) ' neuler is forced to 0'837 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 843 838 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 844 839 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 845 neuler = 0840 l_1st_euler = .true. 846 841 ELSE 847 842 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file' 848 843 IF(lwp) write(numout,*) 'Compute scale factor from sshn' 849 IF(lwp) write(numout,*) ' neuler is forced to 0'844 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 850 845 DO jk = 1, jpk 851 846 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) & … … 854 849 END DO 855 850 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 856 neuler = 0851 l_1st_euler = .true. 857 852 ENDIF 858 853 ! ! ----------- ! … … 1015 1010 WRITE(numout,*) ' rn_rst_e3t = 0.e0' 1016 1011 WRITE(numout,*) ' hard-wired : z-tilde cutoff frequency of low-pass filter (days)' 1017 WRITE(numout,*) ' rn_lf_cutoff = 1.0/r dt'1012 WRITE(numout,*) ' rn_lf_cutoff = 1.0/rn_Dt' 1018 1013 ELSE 1019 1014 WRITE(numout,*) ' z-tilde to zstar restoration timescale (days) rn_rst_e3t = ', rn_rst_e3t -
NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/sbcmod.F90
r12377 r12511 186 186 ! 187 187 IF( .NOT.ln_usr ) THEN ! the model calendar needs some specificities (except in user defined case) 188 IF( MOD( rday , r dt ) /= 0. ) CALL ctl_stop( 'the time step must devide the number of second of in a day' )189 IF( MOD( rday , 2. ) /= 0. ) CALL ctl_stop( 'the number of second of in a day must be an even number' )190 IF( MOD( r dt , 2.) /= 0. ) CALL ctl_stop( 'the time step (in second) must be an even number' )188 IF( MOD( rday , rn_Dt ) /= 0. ) CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 189 IF( MOD( rday , 2. ) /= 0. ) CALL ctl_stop( 'the number of second of in a day must be an even number' ) 190 IF( MOD( rn_Dt, 2. ) /= 0. ) CALL ctl_stop( 'the time step (in second) must be an even number' ) 191 191 ENDIF 192 192 ! !** check option consistency … … 298 298 ! SAS time-step has to be declared in OASIS (mandatory) -> nn_fsbc has to be modified accordingly 299 299 IF( nn_components /= jp_iam_nemo ) THEN 300 IF( nn_components == jp_iam_opa ) nn_fsbc = cpl_freq('O_SFLX') / NINT(r dt)301 IF( nn_components == jp_iam_sas ) nn_fsbc = cpl_freq('I_SFLX') / NINT(r dt)300 IF( nn_components == jp_iam_opa ) nn_fsbc = cpl_freq('O_SFLX') / NINT(rn_Dt) 301 IF( nn_components == jp_iam_sas ) nn_fsbc = cpl_freq('I_SFLX') / NINT(rn_Dt) 302 302 ! 303 303 IF(lwp)THEN … … 316 316 ENDIF 317 317 ! 318 IF( MOD( rday, REAL(nn_fsbc, wp) * r dt ) /= 0 ) &318 IF( MOD( rday, REAL(nn_fsbc, wp) * rn_Dt ) /= 0 ) & 319 319 & CALL ctl_warn( 'sbc_init : nn_fsbc is NOT a multiple of the number of time steps in a day' ) 320 320 ! 321 IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(r dt) ) < 8 ) &321 IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rn_Dt) ) < 8 ) & 322 322 & CALL ctl_warn( 'sbc_init : diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' ) 323 323 ! -
NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/trazdf.F90
r12377 r12511 64 64 ENDIF 65 65 ! 66 IF( neuler == 0 .AND. kt == nit000 ) THEN ; r2dt = rdt ! at nit000, = rdt (restarting with Euler time stepping)67 ELSEIF( kt <= nit000 + 1 ) THEN ; r2dt = 2. * rdt ! otherwise, = 2 rdt (leapfrog)68 ENDIF69 !70 66 IF( l_trdtra ) THEN !* Save ta and sa trends 71 67 ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) ) … … 75 71 ! 76 72 ! !* compute lateral mixing trend and add it to the general trend 77 CALL tra_zdf_imp( kt, nit000, 'TRA', r 2dt, Kbb, Kmm, Krhs, pts, Kaa, jpts )73 CALL tra_zdf_imp( kt, nit000, 'TRA', rDt, Kbb, Kmm, Krhs, pts, Kaa, jpts ) 78 74 79 75 !!gm WHY here ! and I don't like that ! … … 87 83 DO jk = 1, jpkm1 88 84 ztrdt(:,:,jk) = ( ( pts(:,:,jk,jp_tem,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_tem,Kbb)*e3t(:,:,jk,Kbb) ) & 89 & / (e3t(:,:,jk,Kmm)*r 2dt) ) - ztrdt(:,:,jk)85 & / (e3t(:,:,jk,Kmm)*rDt) ) - ztrdt(:,:,jk) 90 86 ztrds(:,:,jk) = ( ( pts(:,:,jk,jp_sal,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_sal,Kbb)*e3t(:,:,jk,Kbb) ) & 91 & / (e3t(:,:,jk,Kmm)*r 2dt) ) - ztrds(:,:,jk)87 & / (e3t(:,:,jk,Kmm)*rDt) ) - ztrds(:,:,jk) 92 88 END DO 93 89 !!gm this should be moved in trdtra.F90 and done on all trends -
NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/usrdef_istate.F90
r10425 r12511 218 218 ! 219 219 zr_lambda2 = 1._wp / zlambda**2 220 zP0 = r au0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp)220 zP0 = rho0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp) 221 221 ! 222 222 DO jj=1, jpj … … 225 225 zy = gphit(ji,jj) * 1.e3 226 226 ! Surface pressure: P(x,y,z) = F(z) * Psurf(x,y) 227 zpsurf = zP0 * EXP(-(zx**2+zy**2)*zr_lambda2) - r au0 * ff_t(ji,jj) * rn_uzonal * zy227 zpsurf = zP0 * EXP(-(zx**2+zy**2)*zr_lambda2) - rho0 * ff_t(ji,jj) * rn_uzonal * zy 228 228 ! Sea level: 229 229 pssh(ji,jj) = 0. … … 231 231 zdt = pssh(ji,jj) 232 232 zdzF = (1._wp - EXP(zdt-zH)) / (zH - 1._wp + EXP(-zH)) ! F'(z) 233 zrho1 = r au0 * (1._wp + zn2*zdt/grav) - zdzF * zpsurf / grav ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y)233 zrho1 = rho0 * (1._wp + zn2*zdt/grav) - zdzF * zpsurf / grav ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y) 234 234 pssh(ji,jj) = zpsurf / (zrho1*grav) * ptmask(ji,jj,1) ! ssh = Psurf / (Rho*g) 235 235 END DO … … 237 237 DO jk=1,jpk 238 238 zdt = pdept(ji,jj,jk) 239 zrho1 = r au0 * (1._wp + zn2*zdt/grav)239 zrho1 = rho0 * (1._wp + zn2*zdt/grav) 240 240 IF (zdt < zH) THEN 241 241 zdzF = (1._wp-EXP(zdt-zH)) / (zH-1._wp + EXP(-zH)) ! F'(z) 242 242 zrho1 = zrho1 - zdzF * zpsurf / grav ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y) 243 243 ENDIF 244 ! pts(ji,jj,jk,jp_tem) = (20._wp + (r au0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)245 pts(ji,jj,jk,jp_tem) = (10._wp + (r au0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)244 ! pts(ji,jj,jk,jp_tem) = (20._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 245 pts(ji,jj,jk,jp_tem) = (10._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 246 246 END DO 247 247 END DO … … 261 261 IF (zdu < zH) THEN 262 262 zf = (zH-1._wp-zdu+EXP(zdu-zH)) / (zH-1._wp+EXP(-zH)) 263 zdyPs = - za * zy * EXP(-(zx**2+zy**2)*zr_lambda2) - r au0 * ff_t(ji,jj) * rn_uzonal264 pu(ji,jj,jk) = - zf / ( r au0 * ff_t(ji,jj) ) * zdyPs * ptmask(ji,jj,jk) * ptmask(ji+1,jj,jk)263 zdyPs = - za * zy * EXP(-(zx**2+zy**2)*zr_lambda2) - rho0 * ff_t(ji,jj) * rn_uzonal 264 pu(ji,jj,jk) = - zf / ( rho0 * ff_t(ji,jj) ) * zdyPs * ptmask(ji,jj,jk) * ptmask(ji+1,jj,jk) 265 265 ELSE 266 266 pu(ji,jj,jk) = 0._wp … … 279 279 zf = (zH-1._wp-zdv+EXP(zdv-zH)) / (zH-1._wp+EXP(-zH)) 280 280 zdxPs = - za * zx * EXP(-(zx**2+zy**2)*zr_lambda2) 281 pv(ji,jj,jk) = zf / ( r au0 * ff_f(ji,jj) ) * zdxPs * ptmask(ji,jj,jk) * ptmask(ji,jj+1,jk)281 pv(ji,jj,jk) = zf / ( rho0 * ff_f(ji,jj) ) * zdxPs * ptmask(ji,jj,jk) * ptmask(ji,jj+1,jk) 282 282 ELSE 283 283 pv(ji,jj,jk) = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.