- Timestamp:
- 2020-04-08T21:37:59+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3
- Files:
-
- 2 deleted
- 64 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3
- 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/dev_r12377_KERNEL-06_techene_e3/tests/BENCH/EXPREF/namelist_cfg_orca025_like
r11536 r12724 36 36 &namdom ! time and space domain 37 37 !----------------------------------------------------------------------- 38 rn_ rdt = 900. ! time step for the dynamics (and tracer if nn_acc=0)38 rn_Dt = 900. ! time step for the dynamics (and tracer if nn_acc=0) 39 39 rn_atfp = 0.05 ! asselin time filter parameter 40 40 / … … 50 50 !----------------------------------------------------------------------- 51 51 ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) 52 nn_ice = 2 ! =0 no ice boundary condition 53 ! ! =1 use observed ice-cover ( => fill namsbc_iif ) 54 ! ! =2 or 3 for SI3 and CICE, respectively 52 55 ln_traqsr = .true. ! Light penetration in the ocean (T => fill namtra_qsr) 53 56 / … … 189 192 ln_dynspg_ts = .true. ! split-explicit free surface 190 193 ln_bt_auto = .false. ! Number of sub-step defined from: 191 nn_ baro = 30 ! =F : the number of sub-step in rn_rdt seconds194 nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds 192 195 / 193 196 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/BENCH/EXPREF/namelist_cfg_orca12_like
r11536 r12724 36 36 &namdom ! time and space domain 37 37 !----------------------------------------------------------------------- 38 rn_ rdt = 300. ! time step for the dynamics (and tracer if nn_acc=0)38 rn_Dt = 300. ! time step for the dynamics (and tracer if nn_acc=0) 39 39 rn_atfp = 0.05 ! asselin time filter parameter 40 40 / … … 50 50 !----------------------------------------------------------------------- 51 51 ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) 52 nn_ice = 2 ! =0 no ice boundary condition 53 ! ! =1 use observed ice-cover ( => fill namsbc_iif ) 54 ! ! =2 or 3 for SI3 and CICE, respectively 52 55 ln_traqsr = .true. ! Light penetration in the ocean (T => fill namtra_qsr) 53 56 / … … 188 191 ln_dynspg_ts = .true. ! split-explicit free surface 189 192 ln_bt_auto = .false. ! Number of sub-step defined from: 190 nn_ baro = 30 ! =F : the number of sub-step in rn_rdt seconds193 nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds 191 194 / 192 195 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/BENCH/EXPREF/namelist_cfg_orca1_like
r11536 r12724 36 36 &namdom ! time and space domain 37 37 !----------------------------------------------------------------------- 38 rn_ rdt = 3600. ! time step for the dynamics (and tracer if nn_acc=0)38 rn_Dt = 3600. ! time step for the dynamics (and tracer if nn_acc=0) 39 39 rn_atfp = 0.05 ! asselin time filter parameter 40 40 / … … 50 50 !----------------------------------------------------------------------- 51 51 ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) 52 nn_ice = 2 ! =0 no ice boundary condition 53 ! ! =1 use observed ice-cover ( => fill namsbc_iif ) 54 ! ! =2 or 3 for SI3 and CICE, respectively 52 55 ln_traqsr = .true. ! Light penetration in the ocean (T => fill namtra_qsr) 53 56 / … … 188 191 ln_dynspg_ts = .true. ! split-explicit free surface 189 192 ln_bt_auto = .false. ! Number of sub-step defined from: 190 nn_ baro = 30 ! =F : the number of sub-step in rn_rdt seconds193 nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds 191 194 / 192 195 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/BENCH/EXPREF/namelist_pisces_cfg
r10343 r12724 81 81 / 82 82 !----------------------------------------------------------------------- 83 &nampis sbc! parameters for inputs deposition83 &nampisbc ! parameters for inputs deposition 84 84 !----------------------------------------------------------------------- 85 ln_dust = .false. ! boolean for dust input from the atmosphere86 ln_solub = .false. ! boolean for variable solubility of atm. Iron87 ln_river = .false. ! boolean for river input of nutrients88 ln_ndepo = .false. ! boolean for atmospheric deposition of N89 85 ln_ironsed = .false. ! boolean for Fe input from sediments 90 86 ln_ironice = .false. ! boolean for Fe input from sea ice -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/BENCH/MY_SRC/usrdef_nam.F90
r12377 r12724 55 55 ! !!* nammpp namelist *!! 56 56 INTEGER :: jpni, jpnj 57 LOGICAL :: ln_nnogather 57 LOGICAL :: ln_nnogather, ln_listonly 58 58 !! 59 59 NAMELIST/namusr_def/ nn_isize, nn_jsize, nn_ksize, nn_perio 60 NAMELIST/nammpp/ jpni, jpnj, ln_nnogather 60 NAMELIST/nammpp/ jpni, jpnj, ln_nnogather, ln_listonly 61 61 !!---------------------------------------------------------------------- 62 62 ! -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/CANAL/EXPREF/namelist_cfg
r12377 r12724 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/dev_r12377_KERNEL-06_techene_e3/tests/CANAL/MY_SRC/diawri.F90
r12377 r12724 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/dev_r12377_KERNEL-06_techene_e3/tests/CANAL/MY_SRC/domvvl.F90
r12377 r12724 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/dev_r12377_KERNEL-06_techene_e3/tests/CANAL/MY_SRC/sbcmod.F90
r12377 r12724 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/dev_r12377_KERNEL-06_techene_e3/tests/CANAL/MY_SRC/trazdf.F90
r12377 r12724 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/dev_r12377_KERNEL-06_techene_e3/tests/CANAL/MY_SRC/usrdef_istate.F90
r10425 r12724 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 -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_ADV1D/EXPREF/namelist_cfg
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 2. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 2. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 2. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 2. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 2. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 2. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 2. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 2. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_ADV2D/EXPREF/namelist_cfg
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 1200. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 1200. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_AGRIF/EXPREF/1_namelist_cfg
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 400. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 400. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_AGRIF/EXPREF/namelist_cfg
r12377 r12724 39 39 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time 40 40 ! 41 rn_ rdt = 1200. ! time step for the dynamics (and tracer if nn_acc=0)41 rn_Dt = 1200. ! time step for the dynamics (and tracer if nn_acc=0) 42 42 ! 43 43 ln_meshmask = .true. ! =T create a mesh file -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90
r12377 r12724 89 89 kpj = nbcellsy + 2 + 2*nbghostcells 90 90 ENDIF 91 kpk = 191 kpk = 2 92 92 ! 93 93 !! zlx = (kpi-2)*rn_dx*1.e-3 -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ICE_AGRIF/MY_SRC/usrdef_zgr.F90
r12377 r12724 89 89 ! !== z-coordinate ==! (step-like topography) 90 90 ! !* bottom ocean compute from the depth of grid-points 91 jpkm1 = jpk 91 jpkm1 = jpk-1 92 92 k_bot(:,:) = 1 ! here use k_top as a land mask 93 93 ! !* horizontally uniform coordinate (reference z-co everywhere) -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ISOMIP+/EXPREF/namelist_cfg
r12077 r12724 44 44 &namdom ! time and space domain 45 45 !----------------------------------------------------------------------- 46 rn_ rdt = 720.46 rn_Dt = 720. 47 47 / 48 48 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ISOMIP+/MY_SRC/eosbn2.F90
r12353 r12724 191 191 !! *** ROUTINE eos_insitu *** 192 192 !! 193 !! ** Purpose : Compute the in situ density (ratio rho/r au0) from193 !! ** Purpose : Compute the in situ density (ratio rho/rho0) from 194 194 !! potential temperature and salinity using an equation of state 195 195 !! selected in the nameos namelist 196 196 !! 197 !! ** Method : prd(t,s,z) = ( rho(t,s,z) - r au0 ) / rau0197 !! ** Method : prd(t,s,z) = ( rho(t,s,z) - rho0 ) / rho0 198 198 !! with prd in situ density anomaly no units 199 199 !! t TEOS10: CT or EOS80: PT Celsius … … 201 201 !! z depth meters 202 202 !! rho in situ density kg/m^3 203 !! r au0 reference density kg/m^3203 !! rho0 reference density kg/m^3 204 204 !! 205 205 !! ln_teos10 : polynomial TEOS-10 equation of state is used for rho(t,s,z). … … 210 210 !! 211 211 !! ln_seos : simplified equation of state 212 !! prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / r au0212 !! prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rho0 213 213 !! linear case function of T only: rn_alpha<>0, other coefficients = 0 214 214 !! linear eos function of T and S: rn_alpha and rn_beta<>0, other coefficients=0 … … 216 216 !! 217 217 !! ln_leos : linear ISOMIP equation of state 218 !! prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / r au0218 !! prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / rho0 219 219 !! setup for ISOMIP linear eos 220 220 !! … … 273 273 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 274 274 ! 275 prd(ji,jj,jk) = ( zn * r1_r au0 - 1._wp ) * ztm ! density anomaly (masked)275 prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) 276 276 ! 277 277 END DO … … 293 293 & - rn_nu * zt * zs 294 294 ! 295 prd(ji,jj,jk) = zn * r1_r au0 * ztm ! density anomaly (masked)295 prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) 296 296 END DO 297 297 END DO … … 308 308 ztm = tmask(ji,jj,jk) 309 309 ! 310 zn = r au0 * ( - rn_a0 * zt + rn_b0 * zs )310 zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) 311 311 ! 312 prd(ji,jj,jk) = zn * r1_r au0 * ztm ! density anomaly (masked)312 prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) 313 313 END DO 314 314 END DO … … 328 328 !! *** ROUTINE eos_insitu_pot *** 329 329 !! 330 !! ** Purpose : Compute the in situ density (ratio rho/r au0) and the330 !! ** Purpose : Compute the in situ density (ratio rho/rho0) and the 331 331 !! potential volumic mass (Kg/m3) from potential temperature and 332 332 !! salinity fields using an equation of state selected in the … … 410 410 prhop(ji,jj,jk) = prhop(ji,jj,jk) + zn0_sto(jsmp) ! potential density referenced at the surface 411 411 ! 412 prd(ji,jj,jk) = prd(ji,jj,jk) + ( zn_sto(jsmp) * r1_r au0 - 1._wp ) ! density anomaly (masked)412 prd(ji,jj,jk) = prd(ji,jj,jk) + ( zn_sto(jsmp) * r1_rho0 - 1._wp ) ! density anomaly (masked) 413 413 END DO 414 414 prhop(ji,jj,jk) = 0.5_wp * prhop(ji,jj,jk) * ztm / nn_sto_eos … … 454 454 prhop(ji,jj,jk) = zn0 * ztm ! potential density referenced at the surface 455 455 ! 456 prd(ji,jj,jk) = ( zn * r1_r au0 - 1._wp ) * ztm ! density anomaly (masked)456 prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) 457 457 END DO 458 458 END DO … … 473 473 & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs & 474 474 & - rn_nu * zt * zs 475 prhop(ji,jj,jk) = ( r au0 + zn ) * ztm475 prhop(ji,jj,jk) = ( rho0 + zn ) * ztm 476 476 ! ! density anomaly (masked) 477 477 zn = zn - ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zh 478 prd(ji,jj,jk) = zn * r1_r au0 * ztm478 prd(ji,jj,jk) = zn * r1_rho0 * ztm 479 479 ! 480 480 END DO … … 492 492 ztm = tmask(ji,jj,jk) 493 493 ! ! potential density referenced at the surface 494 zn = r au0 * ( - rn_a0 * zt + rn_b0 * zs )495 prhop(ji,jj,jk) = ( r au0 + zn ) * ztm494 zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) 495 prhop(ji,jj,jk) = ( rho0 + zn ) * ztm 496 496 ! ! density anomaly (masked) 497 prd(ji,jj,jk) = zn * r1_r au0 * ztm497 prd(ji,jj,jk) = zn * r1_rho0 * ztm 498 498 ! 499 499 END DO … … 514 514 !! *** ROUTINE eos_insitu_2d *** 515 515 !! 516 !! ** Purpose : Compute the in situ density (ratio rho/r au0) from516 !! ** Purpose : Compute the in situ density (ratio rho/rho0) from 517 517 !! potential temperature and salinity using an equation of state 518 518 !! selected in the nameos namelist. * 2D field case … … 569 569 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 570 570 ! 571 prd(ji,jj) = zn * r1_r au0 - 1._wp ! unmasked in situ density anomaly571 prd(ji,jj) = zn * r1_rho0 - 1._wp ! unmasked in situ density anomaly 572 572 ! 573 573 END DO … … 589 589 & - rn_nu * zt * zs 590 590 ! 591 prd(ji,jj) = zn * r1_r au0 ! unmasked in situ density anomaly591 prd(ji,jj) = zn * r1_rho0 ! unmasked in situ density anomaly 592 592 ! 593 593 END DO … … 605 605 zh = pdep (ji,jj) ! depth at the partial step level 606 606 ! 607 zn = r au0 * ( - rn_a0 * zt + rn_b0 * zs )608 ! 609 prd(ji,jj) = zn * r1_r au0 ! unmasked in situ density anomaly607 zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) 608 ! 609 prd(ji,jj) = zn * r1_rho0 ! unmasked in situ density anomaly 610 610 ! 611 611 END DO … … 676 676 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 677 677 ! 678 pab(ji,jj,jk,jp_tem) = zn * r1_r au0 * ztm678 pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm 679 679 ! 680 680 ! beta … … 697 697 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 698 698 ! 699 pab(ji,jj,jk,jp_sal) = zn / zs * r1_r au0 * ztm699 pab(ji,jj,jk,jp_sal) = zn / zs * r1_rho0 * ztm 700 700 ! 701 701 END DO … … 714 714 ! 715 715 zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs 716 pab(ji,jj,jk,jp_tem) = zn * r1_r au0 * ztm ! alpha716 pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm ! alpha 717 717 ! 718 718 zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt 719 pab(ji,jj,jk,jp_sal) = zn * r1_r au0 * ztm ! beta719 pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm ! beta 720 720 ! 721 721 END DO … … 733 733 ztm = tmask(ji,jj,jk) ! land/sea bottom mask = surf. mask 734 734 ! 735 zn = rn_a0 * r au0736 pab(ji,jj,jk,jp_tem) = zn * r1_r au0 * ztm ! alpha737 ! 738 zn = rn_b0 * r au0739 pab(ji,jj,jk,jp_sal) = zn * r1_r au0 * ztm ! beta735 zn = rn_a0 * rho0 736 pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm ! alpha 737 ! 738 zn = rn_b0 * rho0 739 pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm ! beta 740 740 ! 741 741 END DO … … 809 809 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 810 810 ! 811 pab(ji,jj,jp_tem) = zn * r1_r au0811 pab(ji,jj,jp_tem) = zn * r1_rho0 812 812 ! 813 813 ! beta … … 830 830 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 831 831 ! 832 pab(ji,jj,jp_sal) = zn / zs * r1_r au0832 pab(ji,jj,jp_sal) = zn / zs * r1_rho0 833 833 ! 834 834 ! … … 848 848 ! 849 849 zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs 850 pab(ji,jj,jp_tem) = zn * r1_r au0 ! alpha850 pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha 851 851 ! 852 852 zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt 853 pab(ji,jj,jp_sal) = zn * r1_r au0 ! beta853 pab(ji,jj,jp_sal) = zn * r1_rho0 ! beta 854 854 ! 855 855 END DO … … 867 867 zh = pdep (ji,jj) ! depth at the partial step level 868 868 ! 869 zn = rn_a0 * r au0870 pab(ji,jj,jp_tem) = zn * r1_r au0 ! alpha871 ! 872 zn = rn_b0 * r au0873 pab(ji,jj,jp_sal) = zn * r1_r au0 ! beta869 zn = rn_a0 * rho0 870 pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha 871 ! 872 zn = rn_b0 * rho0 873 pab(ji,jj,jp_sal) = zn * r1_rho0 ! beta 874 874 ! 875 875 END DO … … 941 941 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 942 942 ! 943 pab(jp_tem) = zn * r1_r au0943 pab(jp_tem) = zn * r1_rho0 944 944 ! 945 945 ! beta … … 962 962 zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 963 963 ! 964 pab(jp_sal) = zn / zs * r1_r au0964 pab(jp_sal) = zn / zs * r1_rho0 965 965 ! 966 966 ! … … 973 973 ! 974 974 zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs 975 pab(jp_tem) = zn * r1_r au0 ! alpha975 pab(jp_tem) = zn * r1_rho0 ! alpha 976 976 ! 977 977 zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt 978 pab(jp_sal) = zn * r1_r au0 ! beta978 pab(jp_sal) = zn * r1_rho0 ! beta 979 979 ! 980 980 CASE( np_leos ) !== linear ISOMIP EOS ==! … … 984 984 zh = pdep ! depth at the partial step level 985 985 ! 986 zn = rn_a0 * r au0987 pab(jp_tem) = zn * r1_r au0 ! alpha988 ! 989 zn = rn_b0 * r au0990 pab(jp_sal) = zn * r1_r au0 ! beta986 zn = rn_a0 * rho0 987 pab(jp_tem) = zn * r1_rho0 ! alpha 988 ! 989 zn = rn_b0 * rho0 990 pab(jp_sal) = zn * r1_rho0 ! beta 991 991 ! 992 992 CASE DEFAULT … … 1214 1214 !! ** Method : PE is defined analytically as the vertical 1215 1215 !! primitive of EOS times -g integrated between 0 and z>0. 1216 !! pen is the nonlinear bsq-PE anomaly: pen = ( PE - r au0 gz ) / rau0 gz - rd1216 !! pen is the nonlinear bsq-PE anomaly: pen = ( PE - rho0 gz ) / rho0 gz - rd 1217 1217 !! = 1/z * /int_0^z rd dz - rd 1218 1218 !! where rd is the density anomaly (see eos_rhd function) 1219 1219 !! ab_pe are partial derivatives of PE anomaly with respect to T and S: 1220 !! ab_pe(1) = - 1/(r au0 gz) * dPE/dT + drd/dT = - d(pen)/dT1221 !! ab_pe(2) = 1/(r au0 gz) * dPE/dS + drd/dS = d(pen)/dS1220 !! ab_pe(1) = - 1/(rho0 gz) * dPE/dT + drd/dT = - d(pen)/dT 1221 !! ab_pe(2) = 1/(rho0 gz) * dPE/dS + drd/dS = d(pen)/dS 1222 1222 !! 1223 1223 !! ** Action : - pen : PE anomaly given at T-points … … 1267 1267 zn = ( zn2 * zh + zn1 ) * zh + zn0 1268 1268 ! 1269 ppen(ji,jj,jk) = zn * zh * r1_r au0 * ztm1269 ppen(ji,jj,jk) = zn * zh * r1_rho0 * ztm 1270 1270 ! 1271 1271 ! alphaPE non-linear anomaly … … 1282 1282 zn = ( zn2 * zh + zn1 ) * zh + zn0 1283 1283 ! 1284 pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_r au0 * ztm1284 pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rho0 * ztm 1285 1285 ! 1286 1286 ! betaPE non-linear anomaly … … 1297 1297 zn = ( zn2 * zh + zn1 ) * zh + zn0 1298 1298 ! 1299 pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_r au0 * ztm1299 pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rho0 * ztm 1300 1300 ! 1301 1301 END DO … … 1312 1312 zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point 1313 1313 ztm = tmask(ji,jj,jk) ! tmask 1314 zn = 0.5_wp * zh * r1_r au0 * ztm1314 zn = 0.5_wp * zh * r1_rho0 * ztm 1315 1315 ! ! Potential Energy 1316 1316 ppen(ji,jj,jk) = ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zn … … 1332 1332 zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point 1333 1333 ztm = tmask(ji,jj,jk) ! tmask 1334 zn = 0.5_wp * zh * r1_r au0 * ztm1334 zn = 0.5_wp * zh * r1_rho0 * ztm 1335 1335 ! ! Potential Energy 1336 1336 ppen(ji,jj,jk) = 0. … … 1379 1379 IF(lwm) WRITE( numond, nameos ) 1380 1380 ! 1381 r au0 = 1027.51_wp !: volumic mass of reference [kg/m3]1381 rho0 = 1027.51_wp !: volumic mass of reference [kg/m3] 1382 1382 rcp = 3974.00_wp !: heat capacity [J/K] 1383 1383 ! … … 1793 1793 WRITE(numout,*) ' ==>>> use of simplified eos: ' 1794 1794 WRITE(numout,*) ' rhd(dT=T-10,dS=S-35,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT ' 1795 WRITE(numout,*) ' + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / r au0'1795 WRITE(numout,*) ' + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0' 1796 1796 WRITE(numout,*) ' with the following coefficients :' 1797 1797 WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 … … 1810 1810 WRITE(numout,*) 1811 1811 WRITE(numout,*) ' use of linear ISOMIP eos: rhd(dT=T-(-1),dS=S-(34.2),Z) = ' 1812 WRITE(numout,*) ' [ -a0*dT + b0*dS ]/r au0'1812 WRITE(numout,*) ' [ -a0*dT + b0*dS ]/rho0' 1813 1813 WRITE(numout,*) 1814 1814 WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 … … 1822 1822 END SELECT 1823 1823 ! 1824 r au0_rcp = rau0 * rcp1825 r1_r au0 = 1._wp / rau01824 rho0_rcp = rho0 * rcp 1825 r1_rho0 = 1._wp / rho0 1826 1826 r1_rcp = 1._wp / rcp 1827 r1_r au0_rcp = 1._wp / rau0_rcp1827 r1_rho0_rcp = 1._wp / rho0_rcp 1828 1828 ! 1829 1829 IF(lwp) THEN … … 1840 1840 IF(lwp) WRITE(numout,*) 1841 1841 IF(lwp) WRITE(numout,*) ' Associated physical constant' 1842 IF(lwp) WRITE(numout,*) ' volumic mass of reference r au0 = ', rau0 , ' kg/m^3'1843 IF(lwp) WRITE(numout,*) ' 1. / r au0 r1_rau0 = ', r1_rau0, ' m^3/kg'1842 IF(lwp) WRITE(numout,*) ' volumic mass of reference rho0 = ', rho0 , ' kg/m^3' 1843 IF(lwp) WRITE(numout,*) ' 1. / rho0 r1_rho0 = ', r1_rho0, ' m^3/kg' 1844 1844 IF(lwp) WRITE(numout,*) ' ocean specific heat rcp = ', rcp , ' J/Kelvin' 1845 IF(lwp) WRITE(numout,*) ' r au0 * rcp rau0_rcp = ', rau0_rcp1846 IF(lwp) WRITE(numout,*) ' 1. / ( r au0 * rcp ) r1_rau0_rcp = ', r1_rau0_rcp1845 IF(lwp) WRITE(numout,*) ' rho0 * rcp rho0_rcp = ', rho0_rcp 1846 IF(lwp) WRITE(numout,*) ' 1. / ( rho0 * rcp ) r1_rho0_rcp = ', r1_rho0_rcp 1847 1847 ! 1848 1848 END SUBROUTINE eos_init -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ISOMIP+/MY_SRC/sbcfwb.F90
r12353 r12724 122 122 ! avoid the model to blow up for large ssh drop (isomip OCEAN3 with melt switch off and uniform T/S) 123 123 IF (ln_isfcpl .AND. ln_isfcpl_cons) THEN 124 z_fwf = z_fwf + glob_sum( 'sbcfwb', e1e2t(:,:) * risfcpl_cons_ssh(:,:) * r au0 )124 z_fwf = z_fwf + glob_sum( 'sbcfwb', e1e2t(:,:) * risfcpl_cons_ssh(:,:) * rho0 ) 125 125 END IF 126 126 ! … … 151 151 ENDIF 152 152 ! ! Update fwfold if new year start 153 ikty = 365 * 86400 / r dt!!bug use of 365 days leap year or 360d year !!!!!!!153 ikty = 365 * 86400 / rn_Dt !!bug use of 365 days leap year or 360d year !!!!!!! 154 154 IF( MOD( kt, ikty ) == 0 ) THEN 155 155 a_fwb_b = a_fwb ! mean sea level taking into account the ice+snow 156 156 ! sum over the global domain 157 a_fwb = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_r au0 ) )157 a_fwb = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rho0 ) ) 158 158 a_fwb = a_fwb * 1.e+3 / ( area * rday * 365. ) ! convert in Kg/m3/s = mm/s 159 159 !!gm ! !!bug 365d year -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/ISOMIP/EXPREF/namelist_cfg
r12377 r12724 44 44 !----------------------------------------------------------------------- 45 45 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 46 rn_ rdt = 1800. ! time step for the dynamics (and tracer if nn_acc=0)46 rn_Dt = 1800. ! time step for the dynamics (and tracer if nn_acc=0) 47 47 / 48 48 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_cen2_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg
r12377 r12724 47 47 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 48 48 ! 49 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)49 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 50 50 rn_atfp = 0.1 ! asselin time filter parameter 51 51 ! … … 216 216 ln_bt_av = .true. ! Time filtering of barotropic variables 217 217 nn_bt_flt = 1 ! Time filter choice = 0 None 218 ! ! = 1 Boxcar over nn_ barosub-steps219 ! ! = 2 Boxcar over 2*nn_ baro" "218 ! ! = 1 Boxcar over nn_e sub-steps 219 ! ! = 2 Boxcar over 2*nn_e " " 220 220 ln_bt_auto = .true. ! Number of sub-step defined from: 221 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds221 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 222 222 / 223 223 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_eenH_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_een_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ene_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ens_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_cen2_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_ubs_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_eenH_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_een_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ene_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ens_cfg
r12377 r12724 33 33 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 34 34 ! 35 rn_ rdt = 1. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 1. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 ! … … 144 144 ln_bt_av = .true. ! Time filtering of barotropic variables 145 145 nn_bt_flt = 1 ! Time filter choice = 0 None 146 ! ! = 1 Boxcar over nn_ barosub-steps147 ! ! = 2 Boxcar over 2*nn_ baro" "146 ! ! = 1 Boxcar over nn_e sub-steps 147 ! ! = 2 Boxcar over 2*nn_e " " 148 148 ln_bt_auto = .true. ! Number of sub-step defined from: 149 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds149 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 150 150 / 151 151 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/LOCK_EXCHANGE/MY_SRC/usrdef_istate.F90
r10074 r12724 60 60 ! 61 61 ! rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 62 ! rho = r au0 - rn_a0 * (T-10)62 ! rho = rho0 - rn_a0 * (T-10) 63 63 ! delta_T = 25 degrees ==>> delta_rho = 25 * rn_a0 = 5 kg/m3 64 64 ! -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_cen-ahm1000_cfg
r11848 r12724 33 33 &namdom ! space and time domain (bathymetry, mesh, timestep) 34 34 !----------------------------------------------------------------------- 35 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 / … … 155 155 ln_bt_av = .true. ! Time filtering of barotropic variables 156 156 nn_bt_flt = 1 ! Time filter choice = 0 None 157 ! ! = 1 Boxcar over nn_ barosub-steps158 ! ! = 2 Boxcar over 2*nn_ baro" "157 ! ! = 1 Boxcar over nn_e sub-steps 158 ! ! = 2 Boxcar over 2*nn_e " " 159 159 ln_bt_auto = .true. ! Number of sub-step defined from: 160 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds160 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 161 161 / 162 162 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_ubs_cfg
r11848 r12724 33 33 &namdom ! space and time domain (bathymetry, mesh, timestep) 34 34 !----------------------------------------------------------------------- 35 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 / … … 155 155 ln_bt_av = .true. ! Time filtering of barotropic variables 156 156 nn_bt_flt = 1 ! Time filter choice = 0 None 157 ! ! = 1 Boxcar over nn_ barosub-steps158 ! ! = 2 Boxcar over 2*nn_ baro" "157 ! ! = 1 Boxcar over nn_e sub-steps 158 ! ! = 2 Boxcar over 2*nn_e " " 159 159 ln_bt_auto = .true. ! Number of sub-step defined from: 160 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds160 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 161 161 / 162 162 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_cen-ahm1000_cfg
r10075 r12724 33 33 &namdom ! space and time domain (bathymetry, mesh, timestep) 34 34 !----------------------------------------------------------------------- 35 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 / … … 155 155 ln_bt_av = .true. ! Time filtering of barotropic variables 156 156 nn_bt_flt = 1 ! Time filter choice = 0 None 157 ! ! = 1 Boxcar over nn_ barosub-steps158 ! ! = 2 Boxcar over 2*nn_ baro" "157 ! ! = 1 Boxcar over nn_e sub-steps 158 ! ! = 2 Boxcar over 2*nn_e " " 159 159 ln_bt_auto = .true. ! Number of sub-step defined from: 160 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds160 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 161 161 / 162 162 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_ubs_cfg
r11848 r12724 33 33 &namdom ! space and time domain (bathymetry, mesh, timestep) 34 34 !----------------------------------------------------------------------- 35 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 / … … 155 155 ln_bt_av = .true. ! Time filtering of barotropic variables 156 156 nn_bt_flt = 1 ! Time filter choice = 0 None 157 ! ! = 1 Boxcar over nn_ barosub-steps158 ! ! = 2 Boxcar over 2*nn_ baro" "157 ! ! = 1 Boxcar over nn_e sub-steps 158 ! ! = 2 Boxcar over 2*nn_e " " 159 159 ln_bt_auto = .true. ! Number of sub-step defined from: 160 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds160 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 161 161 / 162 162 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_zps_FCT2_flux_ubs_cfg
r11848 r12724 33 33 &namdom ! space and time domain (bathymetry, mesh, timestep) 34 34 !----------------------------------------------------------------------- 35 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 / … … 155 155 ln_bt_av = .true. ! Time filtering of barotropic variables 156 156 nn_bt_flt = 1 ! Time filter choice = 0 None 157 ! ! = 1 Boxcar over nn_ barosub-steps158 ! ! = 2 Boxcar over 2*nn_ baro" "157 ! ! = 1 Boxcar over nn_e sub-steps 158 ! ! = 2 Boxcar over 2*nn_e " " 159 159 ln_bt_auto = .true. ! Number of sub-step defined from: 160 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds160 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 161 161 / 162 162 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg
r12377 r12724 46 46 &namdom ! time and space domain 47 47 !----------------------------------------------------------------------- 48 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)48 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 49 49 rn_atfp = 0.1 ! asselin time filter parameter 50 50 / … … 216 216 ln_bt_av = .true. ! Time filtering of barotropic variables 217 217 nn_bt_flt = 1 ! Time filter choice = 0 None 218 ! ! = 1 Boxcar over nn_ barosub-steps219 ! ! = 2 Boxcar over 2*nn_ baro" "218 ! ! = 1 Boxcar over nn_e sub-steps 219 ! ! = 2 Boxcar over 2*nn_e " " 220 220 ln_bt_auto = .true. ! Number of sub-step defined from: 221 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds221 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 222 222 / 223 223 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_vect_een_cfg
r11848 r12724 33 33 &namdom ! space and time domain (bathymetry, mesh, timestep) 34 34 !----------------------------------------------------------------------- 35 rn_ rdt = 10. ! time step for the dynamics (and tracer if nn_acc=0)35 rn_Dt = 10. ! time step for the dynamics (and tracer if nn_acc=0) 36 36 rn_atfp = 0.1 ! asselin time filter parameter 37 37 / … … 155 155 ln_bt_av = .true. ! Time filtering of barotropic variables 156 156 nn_bt_flt = 1 ! Time filter choice = 0 None 157 ! ! = 1 Boxcar over nn_ barosub-steps158 ! ! = 2 Boxcar over 2*nn_ baro" "157 ! ! = 1 Boxcar over nn_e sub-steps 158 ! ! = 2 Boxcar over 2*nn_e " " 159 159 ln_bt_auto = .true. ! Number of sub-step defined from: 160 nn_ baro = 1 ! =F : the number of sub-step in rn_rdt seconds160 nn_e = 1 ! =F : the number of sub-step in rn_Dt seconds 161 161 / 162 162 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/OVERFLOW/MY_SRC/usrdef_istate.F90
r10074 r12724 60 60 ! 61 61 ! rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 62 ! rho = r au0 - rn_a0 * (T-10)62 ! rho = rho0 - rn_a0 * (T-10) 63 63 ! delta_T = 10 degrees ==>> delta_rho = 10 * rn_a0 = 2 kg/m3 64 64 ! -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/launch_sasf.sh
r11996 r12724 2 2 3 3 # NEMO directory where to fetch compiled STATION_ASF nemo.exe + setup: 4 NEMO_DIR="${HOME}/NEMO/NEMOvdev_r11085_ASINTER-05_Brodeau_Advanced_Bulk" 4 NEMO_DIR=`pwd | sed -e "s|/tests/STATION_ASF/EXPREF||g"` 5 6 echo "Using NEMO_DIR=${NEMO_DIR}" 7 8 # what directory inside "tests" actually contains the compiled test-case? 9 TC_DIR="STATION_ASF2" 10 11 # => so the executable to use is: 12 NEMO_EXE="${NEMO_DIR}/tests/${TC_DIR}/BLD/bin/nemo.exe" 5 13 6 14 # Directory where to run the simulation: … … 24 32 mkdir -p ${WORK_DIR} 25 33 26 NEMO_EXE="${NEMO_DIR}/tests/STATION_ASF/BLD/bin/nemo.exe" 34 27 35 if [ ! -f ${NEMO_EXE} ]; then echo " Mhhh, no compiled nemo.exe found into ${NEMO_DIR}/tests/STATION_ASF/BLD/bin !"; exit; fi 28 36 … … 40 48 rsync -avP ${FORC_DIR}/Station_PAPA_50N-145W*.nc ${WORK_DIR}/ 41 49 42 for CASE in "ECMWF -noskin" "COARE3p6-noskin" "ECMWF" "COARE3p6" "NCAR"; do50 for CASE in "ECMWF" "COARE3p6" "NCAR" "ECMWF-noskin" "COARE3p6-noskin"; do 43 51 44 52 echo ; echo … … 56 64 echo 57 65 echo "Launching NEMO !" 58 ./nemo.exe 1> 66 ./nemo.exe 1>out_nemo.out 2>err_nemo.err 59 67 echo "Done!" 60 68 echo -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg
r12249 r12724 33 33 nn_time0 = 0 ! initial time of day in hhmm 34 34 nn_leapy = 0 ! Leap year calendar (1) or not (0) 35 ln_rstart = 36 nn_euler = 1 ! = 0 : start with forward time step if ln_rstart=T35 ln_rstart = .false. ! start from rest (F) or from a restart file (T) 36 ln_1st_euler = .false. ! =T force a start with forward time step (ln_rstart=T) 37 37 nn_rstctl = 2 ! restart control ==> activated only if ln_rstart=T 38 38 ! ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 57 57 &namdom ! time and space domain / STATION_ASF 58 58 !----------------------------------------------------------------------- 59 rn_ rdt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing59 rn_Dt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing 60 60 ln_meshmask = .false. 61 61 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg
r12249 r12724 33 33 nn_time0 = 0 ! initial time of day in hhmm 34 34 nn_leapy = 0 ! Leap year calendar (1) or not (0) 35 ln_rstart = 36 nn_euler = 1 ! = 0 : start with forward time step if ln_rstart=T35 ln_rstart = .false. ! start from rest (F) or from a restart file (T) 36 ln_1st_euler = .false. ! =T force a start with forward time step (ln_rstart=T) 37 37 nn_rstctl = 2 ! restart control ==> activated only if ln_rstart=T 38 38 ! ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 57 57 &namdom ! time and space domain / STATION_ASF 58 58 !----------------------------------------------------------------------- 59 rn_ rdt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing59 rn_Dt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing 60 60 ln_meshmask = .false. 61 61 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg
r12249 r12724 33 33 nn_time0 = 0 ! initial time of day in hhmm 34 34 nn_leapy = 0 ! Leap year calendar (1) or not (0) 35 ln_rstart = 36 nn_euler = 1 ! = 0 : start with forward time step if ln_rstart=T35 ln_rstart = .false. ! start from rest (F) or from a restart file (T) 36 ln_1st_euler = .false. ! =T force a start with forward time step (ln_rstart=T) 37 37 nn_rstctl = 2 ! restart control ==> activated only if ln_rstart=T 38 38 ! ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 57 57 &namdom ! time and space domain / STATION_ASF 58 58 !----------------------------------------------------------------------- 59 rn_ rdt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing59 rn_Dt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing 60 60 ln_meshmask = .false. 61 61 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg
r12249 r12724 33 33 nn_time0 = 0 ! initial time of day in hhmm 34 34 nn_leapy = 0 ! Leap year calendar (1) or not (0) 35 ln_rstart = 36 nn_euler = 1 ! = 0 : start with forward time step if ln_rstart=T35 ln_rstart = .false. ! start from rest (F) or from a restart file (T) 36 ln_1st_euler = .false. ! =T force a start with forward time step (ln_rstart=T) 37 37 nn_rstctl = 2 ! restart control ==> activated only if ln_rstart=T 38 38 ! ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 57 57 &namdom ! time and space domain / STATION_ASF 58 58 !----------------------------------------------------------------------- 59 rn_ rdt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing59 rn_Dt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing 60 60 ln_meshmask = .false. 61 61 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/namelist_ncar_cfg
r12249 r12724 33 33 nn_time0 = 0 ! initial time of day in hhmm 34 34 nn_leapy = 0 ! Leap year calendar (1) or not (0) 35 ln_rstart = 36 nn_euler = 1 ! = 0 : start with forward time step if ln_rstart=T35 ln_rstart = .false. ! start from rest (F) or from a restart file (T) 36 ln_1st_euler = .false. ! =T force a start with forward time step (ln_rstart=T) 37 37 nn_rstctl = 2 ! restart control ==> activated only if ln_rstart=T 38 38 ! ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 57 57 &namdom ! time and space domain / STATION_ASF 58 58 !----------------------------------------------------------------------- 59 rn_ rdt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing59 rn_Dt = 3600. ! time step for the dynamics and tracer => frequency of atmospheric forcing 60 60 ln_meshmask = .false. 61 61 ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/EXPREF/plot_station_asf.py
r12031 r12724 53 53 L_VARL = [ r'$Q_{lat}$', r'$Q_{sens}$' , r'$Q_{net}$' , r'$Q_{lw}$' , r'$|\tau|$' , r'$\Delta T_{skin}$' ] ; # name of variable in latex mode 54 54 L_VUNT = [ r'$W/m^2$' , r'$W/m^2$' , r'$W/m^2$' , r'$W/m^2$' , r'$N/m^2$' , 'K' ] 55 L_VMAX = [ 75. , 75. , 800. , 25. , 1.2 , -0.7 ]56 L_VMIN = [ -250. , -125. , -400. , -150. , 0. , 55 L_VMAX = [ 75. , 75. , 800. , 25. , 1.2 , 0.7 ] 56 L_VMIN = [ -250. , -125. , -400. , -150. , 0. , -0.7 ] 57 57 L_ANOM = [ True , True , True , True , True , False ] 58 58 -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/MY_SRC/diawri.F90
r12353 r12724 35 35 USE iom ! 36 36 USE ioipsl ! 37 37 38 #if defined key_si3 38 39 USE ice … … 56 57 57 58 !!---------------------------------------------------------------------- 58 !! NEMO/ SAS4.0 , NEMO Consortium (2018)59 !! $Id: diawri.F90 1 0425 2018-12-19 21:54:16Z smasson $59 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 60 !! $Id: diawri.F90 12493 2020-03-02 07:56:31Z smasson $ 60 61 !! Software governed by the CeCILL license (see ./LICENSE) 61 62 !!---------------------------------------------------------------------- … … 114 115 INTEGER, DIMENSION(2) :: ierr 115 116 !!---------------------------------------------------------------------- 116 ierr = 0 117 ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) , & 118 & ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) , & 119 & ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 120 ! 121 dia_wri_alloc = MAXVAL(ierr) 122 CALL mpp_sum( 'diawri', dia_wri_alloc ) 117 IF( nn_write == -1 ) THEN 118 dia_wri_alloc = 0 119 ELSE 120 ierr = 0 121 ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) , & 122 & ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) , & 123 & ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 124 ! 125 dia_wri_alloc = MAXVAL(ierr) 126 CALL mpp_sum( 'diawri', dia_wri_alloc ) 127 ! 128 ENDIF 123 129 ! 124 130 END FUNCTION dia_wri_alloc … … 168 174 clop = "x" ! no use of the mask value (require less cpu time and otherwise the model crashes) 169 175 #if defined key_diainstant 170 zsto = nn_write * r dt176 zsto = nn_write * rn_Dt 171 177 clop = "inst("//TRIM(clop)//")" 172 178 #else 173 zsto=r dt179 zsto=rn_Dt 174 180 clop = "ave("//TRIM(clop)//")" 175 181 #endif 176 zout = nn_write * r dt177 zmax = ( nitend - nit000 + 1 ) * r dt182 zout = nn_write * rn_Dt 183 zmax = ( nitend - nit000 + 1 ) * rn_Dt 178 184 179 185 ! Define indices of the horizontal output zoom and vertical limit storage … … 195 201 196 202 ! Compute julian date from starting date of the run 197 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )203 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 198 204 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 199 205 IF(lwp)WRITE(numout,*) … … 217 223 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 218 224 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 219 & nit000-1, zjulian, r dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )225 & nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 220 226 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 221 227 & "m", ipk, gdept_1d, nz_T, "down" ) … … 229 235 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 230 236 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 231 & nit000-1, zjulian, r dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )237 & nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 232 238 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 233 239 & "m", ipk, gdept_1d, nz_U, "down" ) … … 241 247 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 242 248 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 243 & nit000-1, zjulian, r dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )249 & nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 244 250 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 245 251 & "m", ipk, gdept_1d, nz_V, "down" ) … … 374 380 CALL iom_rstput( 0, 0, inum, 'vozocrtx', uu(:,:,:,Kmm) ) ! now i-velocity 375 381 CALL iom_rstput( 0, 0, inum, 'vomecrty', vv(:,:,:,Kmm) ) ! now j-velocity 376 382 CALL iom_rstput( 0, 0, inum, 'vovecrtz', ww ) ! now k-velocity 377 383 CALL iom_rstput( 0, 0, inum, 'sowaflup', emp - rnf ) ! freshwater budget 378 384 CALL iom_rstput( 0, 0, inum, 'sohefldo', qsr + qns ) ! total heat flux -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/MY_SRC/nemogcm.F90
r12254 r12724 2 2 !!====================================================================== 3 3 !! *** MODULE nemogcm *** 4 !! StandAlone Surface module : surface fluxes4 !! STATION_ASF (SAS meets C1D) 5 5 !!====================================================================== 6 6 !! History : 3.6 ! 2011-11 (S. Alderson, G. Madec) original code … … 19 19 !!---------------------------------------------------------------------- 20 20 USE step_oce ! module used in the ocean time stepping module (step.F90) 21 USE sbc_oce ! surface boundary condition: ocean #LB: rm?22 21 USE phycst ! physical constant (par_cst routine) 23 22 USE domain ! domain initialization (dom_init & dom_cfg routines) 24 23 USE closea ! treatment of closed seas (for ln_closea) 25 24 USE usrdef_nam ! user defined configuration 25 USE istate ! initial state setting (istate_init routine) 26 26 USE step, ONLY : Nbb, Nnn, Naa, Nrhs ! time level indices 27 27 USE daymod ! calendar 28 28 USE restart ! open restart file 29 !LB:USE step ! NEMO time-stepping (stp routine)30 29 USE c1d ! 1D configuration 31 30 USE step_c1d ! Time stepping loop for the 1D configuration 32 USE sbcssm !33 31 ! 32 USE in_out_manager ! I/O manager 34 33 USE lib_mpp ! distributed memory computing 35 34 USE mppini ! shared/distributed memory setting (mpp_init routine) … … 49 48 !!---------------------------------------------------------------------- 50 49 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 51 !! $Id: nemogcm.F90 1 1536 2019-09-11 13:54:18Z smasson$50 !! $Id: nemogcm.F90 12489 2020-02-28 15:55:11Z davestorkey $ 52 51 !! Software governed by the CeCILL license (see ./LICENSE) 53 52 !!---------------------------------------------------------------------- … … 84 83 ! !== time stepping ==! 85 84 ! !-----------------------! 85 ! 86 ! !== set the model time-step ==! 87 ! 86 88 istp = nit000 87 89 ! … … 106 108 ! 107 109 #if defined key_iomput 108 CALL xios_finalize ! end mpp communications with xios110 CALL xios_finalize ! end mpp communications with xios 109 111 #else 110 IF( lk_mpp ) THEN ; CALL mppstop ! end mpp communications 111 ENDIF 112 IF( lk_mpp ) CALL mppstop ! end mpp communications 112 113 #endif 113 114 ! … … 161 162 IF( lwm ) CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 162 163 ! open reference and configuration namelist files 163 CALL load_nml( numnam_ref, 'namelist_ref', -1, lwm )164 CALL load_nml( numnam_cfg, 'namelist_cfg', -1, lwm )164 CALL load_nml( numnam_ref, 'namelist_ref', -1, lwm ) 165 CALL load_nml( numnam_cfg, 'namelist_cfg', -1, lwm ) 165 166 IF( lwm ) CALL ctl_opn( numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 166 167 ! open /dev/null file to be able to supress output write easily 167 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 168 IF( Agrif_Root() ) THEN 169 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 170 #ifdef key_agrif 171 ELSE 172 numnul = Agrif_Parent(numnul) 173 #endif 174 ENDIF 168 175 ! 169 176 ! !--------------------! … … 235 242 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 236 243 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 237 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 244 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 238 245 ! 239 246 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file … … 266 273 IF( ln_timing ) CALL timing_start( 'nemo_init') 267 274 ! 268 CALL phy_cst ! Physical constants269 CALL eos_init ! Equation of state275 CALL phy_cst ! Physical constants 276 CALL eos_init ! Equation of state 270 277 IF( lk_c1d ) CALL c1d_init ! 1D column configuration 271 CALL dom_init( Nbb, Nnn, Naa, "OPA") ! Domain278 CALL dom_init( Nbb, Nnn, Naa, "OPA") ! Domain 272 279 IF( sn_cfctl%l_prtctl ) & 273 280 & CALL prt_ctl_init ! Print control 274 275 IF( ln_rstart ) THEN ! Restart from a file 276 ! ! ------------------- 277 CALL rst_read( Nbb, Nnn ) ! Read the restart file 278 CALL day_init ! model calendar (using both namelist and restart infos) 279 ! 280 ELSE ! Start from rest 281 ! ! --------------- 282 numror = 0 ! define numror = 0 -> no restart file to read 283 neuler = 0 ! Set time-step indicator at nit000 (euler forward) 284 CALL day_init ! model calendar (using both namelist and restart infos) 285 ENDIF 286 ! 287 288 ! ! external forcing 289 CALL sbc_init( Nbb, Nnn, Naa ) ! surface boundary conditions (including sea-ice) 281 ! 282 283 CALL istate_init( Nbb, Nnn, Naa ) ! ocean initial state (Dynamics and tracers) 284 285 ! ! external forcing 286 CALL sbc_init( Nbb, Nnn, Naa ) ! surface boundary conditions (including sea-ice) 290 287 291 288 ! … … 321 318 WRITE(numout,*) ' sn_cfctl%l_prttrc = ', sn_cfctl%l_prttrc 322 319 WRITE(numout,*) ' sn_cfctl%l_oasout = ', sn_cfctl%l_oasout 323 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 324 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax 325 WRITE(numout,*) ' sn_cfctl%procincr = ', sn_cfctl%procincr 326 WRITE(numout,*) ' sn_cfctl%ptimincr = ', sn_cfctl%ptimincr 320 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 321 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax 322 WRITE(numout,*) ' sn_cfctl%procincr = ', sn_cfctl%procincr 323 WRITE(numout,*) ' sn_cfctl%ptimincr = ', sn_cfctl%ptimincr 327 324 WRITE(numout,*) ' level of print nn_print = ', nn_print 328 325 WRITE(numout,*) ' Start i indice for SUM control nn_ictls = ', nn_ictls … … 439 436 !!---------------------------------------------------------------------- 440 437 ! 441 ierr = oce_alloc () ! ocean 438 ierr = oce_alloc () ! ocean 442 439 ierr = ierr + dia_wri_alloc() 443 440 ierr = ierr + dom_oce_alloc() ! ocean domain … … 448 445 END SUBROUTINE nemo_alloc 449 446 450 447 451 448 SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 452 449 !!---------------------------------------------------------------------- … … 479 476 !!====================================================================== 480 477 END MODULE nemogcm 478 -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/MY_SRC/sbcssm.F90
r12249 r12724 54 54 !!---------------------------------------------------------------------- 55 55 !! NEMO/SAS 4.0 , NEMO Consortium (2018) 56 !! $Id: sbcssm.F90 1 0068 2018-08-28 14:09:04Z nicolasmartin$56 !! $Id: sbcssm.F90 12615 2020-03-26 15:18:49Z laurent $ 57 57 !! Software governed by the CeCILL license (see ./LICENSE) 58 58 !!---------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/MY_SRC/usrdef_hgr.F90
r11930 r12724 14 14 !! usr_def_hgr : initialize the horizontal mesh 15 15 !!---------------------------------------------------------------------- 16 USE dom_oce , ONLY: nimpp, njmpp 16 USE dom_oce , ONLY: nimpp, njmpp ! ocean space and time domain 17 17 USE c1d , ONLY: rn_lon1d, rn_lat1d ! ocean lon/lat define by namelist 18 18 USE par_oce ! ocean space and time domain … … 30 30 !!---------------------------------------------------------------------- 31 31 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 32 !! $Id: usrdef_hgr.F90 1 0072 2018-08-28 15:21:50Z nicolasmartin $32 !! $Id: usrdef_hgr.F90 12489 2020-02-28 15:55:11Z davestorkey $ 33 33 !! Software governed by the CeCILL license (see ./LICENSE) 34 34 !!---------------------------------------------------------------------- … … 54 54 !! 55 55 !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in degrees) 56 !! - define coriolis parameter at f-point if the domain in not on the sphere 56 !! - define coriolis parameter at f-point if the domain in not on the sphere (on beta-plane) 57 57 !! - define i- & j-scale factors at t-, u-, v- and f-points (in meters) 58 58 !! - define u- & v-surfaces (if gridsize reduction is used in some straits) (in m2) -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/MY_SRC/usrdef_nam.F90
r12249 r12724 8 8 !!====================================================================== 9 9 !! History : 4.0 ! 2016-03 (S. Flavoni, G. Madec) Original code 10 !! History :4.x ! 2019-10 (L. Brodeau) for STATION_ASF (C1D meets SAS)10 !! 4.x ! 2019-10 (L. Brodeau) for STATION_ASF (C1D meets SAS) 11 11 !!---------------------------------------------------------------------- 12 12 … … 15 15 !! usr_def_hgr : initialize the horizontal mesh 16 16 !!---------------------------------------------------------------------- 17 USE dom_oce , ONLY: nimpp, njmpp 18 USE dom_oce , ONLY: ln_zco, ln_zps, ln_sco ! flag of type of coordinate17 USE dom_oce , ONLY: nimpp, njmpp ! ocean space and time domain 18 !!! USE dom_oce , ONLY: ln_zco, ln_zps, ln_sco ! flag of type of coordinate 19 19 USE par_oce ! ocean space and time domain 20 20 USE phycst ! physical constants … … 33 33 !!---------------------------------------------------------------------- 34 34 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 35 !! $Id: usrdef_nam.F90 1 1536 2019-09-11 13:54:18Z smasson$35 !! $Id: usrdef_nam.F90 12377 2020-02-12 14:39:06Z acc $ 36 36 !! Software governed by the CeCILL license (see ./LICENSE) 37 37 !!---------------------------------------------------------------------- … … 68 68 kk_cfg = 0 69 69 70 ! Global Domain size: STATION_ASF domain is 3 x 3 grid-points x 75or vertical levels70 ! Global Domain size: STATION_ASF domain is 3 x 3 grid-points x 2 or vertical levels 71 71 kpi = 3 72 72 kpj = 3 73 kpk = 173 kpk = 2 ! 2, rather than 1, because 1 would cause some issues... like overflow in array boundary indexes, etc... 74 74 ! 75 75 ! ! Set the lateral boundary condition of the global domain -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/STATION_ASF/MY_SRC/usrdef_zgr.F90
r12038 r12724 1 1 MODULE usrdef_zgr 2 2 !!====================================================================== 3 !! *** MODULEusrdef_zgr ***3 !! *** MODULE usrdef_zgr *** 4 4 !! 5 5 !! === STATION_ASF case === 6 6 !! 7 !! user defined :vertical coordinate system of a user configuration7 !! User defined : vertical coordinate system of a user configuration 8 8 !!====================================================================== 9 !! History : 4.0 ! 2019-10 (L. Brodeau) Original code 9 !! History : 4.0 ! 2016-06 (G. Madec) Original code 10 !! 4.x ! 2019-10 (L. Brodeau) Station ASF 10 11 !!---------------------------------------------------------------------- 11 12 12 13 !!---------------------------------------------------------------------- 13 !! usr_def_zgr : user defined vertical coordinate system (required) 14 !! usr_def_zgr : user defined vertical coordinate system 15 !! zgr_z : reference 1D z-coordinate 16 !! zgr_top_bot: ocean top and bottom level indices 17 !! zgr_zco : 3D verticl coordinate in pure z-coordinate case 14 18 !!--------------------------------------------------------------------- 15 19 USE oce ! ocean variables 16 !USE dom_oce ! ocean domain17 !USE depth_e3 ! depth <=> e318 20 USE usrdef_nam ! User defined : namelist variables 19 21 ! … … 21 23 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 22 24 USE lib_mpp ! distributed memory computing library 23 USE timing ! Timing24 25 25 26 IMPLICIT NONE 26 27 PRIVATE 27 28 28 PUBLIC usr_def_zgr ! called by domzgr.F9029 PUBLIC usr_def_zgr ! called by domzgr.F90 29 30 30 31 !!---------------------------------------------------------------------- 31 32 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 32 !! $Id: usrdef_zgr.F90 1 0072 2018-08-28 15:21:50Z nicolasmartin$33 !! $Id: usrdef_zgr.F90 12377 2020-02-12 14:39:06Z acc $ 33 34 !! Software governed by the CeCILL license (see ./LICENSE) 34 35 !!---------------------------------------------------------------------- … … 47 48 !! 48 49 !!---------------------------------------------------------------------- 49 LOGICAL , INTENT( out) :: ld_zco, ld_zps, ld_sco ! vertical coordinate flags ( read in namusr_def )50 LOGICAL , INTENT( 51 REAL(wp), DIMENSION(:) , INTENT( 52 REAL(wp), DIMENSION(:) , INTENT( 53 REAL(wp), DIMENSION(:,:,:), INTENT( 54 REAL(wp), DIMENSION(:,:,:), INTENT( 55 REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pe3w , pe3uw, pe3vw ! i-scale factors56 INTEGER , DIMENSION(:,:) , INTENT( 50 LOGICAL , INTENT(out) :: ld_zco, ld_zps, ld_sco ! vertical coordinate flags 51 LOGICAL , INTENT(out) :: ld_isfcav ! under iceshelf cavity flag 52 REAL(wp), DIMENSION(:) , INTENT(out) :: pdept_1d, pdepw_1d ! 1D grid-point depth [m] 53 REAL(wp), DIMENSION(:) , INTENT(out) :: pe3t_1d , pe3w_1d ! 1D grid-point depth [m] 54 REAL(wp), DIMENSION(:,:,:), INTENT(out) :: pdept, pdepw ! grid-point depth [m] 55 REAL(wp), DIMENSION(:,:,:), INTENT(out) :: pe3t , pe3u , pe3v , pe3f ! vertical scale factors [m] 56 REAL(wp), DIMENSION(:,:,:), INTENT(out) :: pe3w , pe3uw, pe3vw ! i-scale factors 57 INTEGER , DIMENSION(:,:) , INTENT(out) :: k_top, k_bot ! first & last ocean level 57 58 !!---------------------------------------------------------------------- 58 59 ! … … 61 62 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 62 63 ! 63 64 ! 65 ! type of vertical coordinate 66 ! --------------------------- 64 67 ld_zco = .TRUE. ! z-coordinate without ocean cavities 65 68 ld_zps = .FALSE. 66 69 ld_sco = .FALSE. 67 70 ld_isfcav = .FALSE. 68 71 72 !! 1st level (the only one that matters) 69 73 pdept_1d(1) = rn_dept1 ! depth (m) at which the SST is taken/measured == depth of first T point! 70 74 pdepw_1d(1) = 0._wp … … 72 76 pe3w_1d(1) = rn_dept1 ! LB??? 73 77 74 pdept(:,:,:) = rn_dept1 75 pdepw(:,:,:) = 0._wp 76 pe3t(:,:,:) = 2._wp*rn_dept1 77 pe3u(:,:,:) = 2._wp*rn_dept1 78 pe3v(:,:,:) = 2._wp*rn_dept1 79 pe3f(:,:,:) = 2._wp*rn_dept1 80 pe3w(:,:,:) = rn_dept1 ! LB??? 81 pe3uw(:,:,:) = rn_dept1 ! LB??? 82 pe3vw(:,:,:) = rn_dept1 ! LB??? 78 pdept(:,:,1) = rn_dept1 79 pdepw(:,:,1) = 0._wp 80 pe3t(:,:,1) = 2._wp*rn_dept1 81 pe3u(:,:,1) = 2._wp*rn_dept1 82 pe3v(:,:,1) = 2._wp*rn_dept1 83 pe3f(:,:,1) = 2._wp*rn_dept1 84 pe3w(:,:,1) = rn_dept1 ! LB??? 85 pe3uw(:,:,1) = rn_dept1 ! LB??? 86 pe3vw(:,:,1) = rn_dept1 ! LB??? 87 88 !! 2nd level, technically useless (only for the sake of code stability) 89 pdept_1d(2) = 3._wp*rn_dept1 90 pdepw_1d(2) = 2._wp*rn_dept1 91 pe3t_1d(2) = 2._wp*rn_dept1 92 pe3w_1d(2) = 2._wp*rn_dept1 93 94 pdept(:,:,2) = 3._wp*rn_dept1 95 pdepw(:,:,2) = 2._wp*rn_dept1 96 pe3t(:,:,2) = 2._wp*rn_dept1 97 pe3u(:,:,2) = 2._wp*rn_dept1 98 pe3v(:,:,2) = 2._wp*rn_dept1 99 pe3f(:,:,2) = 2._wp*rn_dept1 100 pe3w(:,:,2) = 2._wp*rn_dept1 101 pe3uw(:,:,2) = 2._wp*rn_dept1 102 pe3vw(:,:,2) = 2._wp*rn_dept1 103 83 104 k_top = 1 84 105 k_bot = 1 85 ! 106 86 107 END SUBROUTINE usr_def_zgr 87 108 !!====================================================================== -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/VORTEX/EXPREF/1_namelist_cfg
r12377 r12724 40 40 !----------------------------------------------------------------------- 41 41 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 42 rn_ rdt = 480. ! time step for the dynamics (and tracer if nn_acc=0)42 rn_Dt = 480. ! time step for the dynamics (and tracer if nn_acc=0) 43 43 rn_atfp = 0.05 ! asselin time filter parameter 44 44 / … … 213 213 ln_bt_av = .true. ! Time filtering of barotropic variables 214 214 nn_bt_flt = 1 ! Time filter choice = 0 None 215 ! ! = 1 Boxcar over nn_ barosub-steps216 ! ! = 2 Boxcar over 2*nn_ baro" "215 ! ! = 1 Boxcar over nn_e sub-steps 216 ! ! = 2 Boxcar over 2*nn_e " " 217 217 ln_bt_auto = .false. ! Number of sub-step defined from: 218 nn_ baro = 24 ! =F : the number of sub-step in rn_rdt seconds218 nn_e = 24 ! =F : the number of sub-step in rn_Dt seconds 219 219 / 220 220 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/VORTEX/EXPREF/namelist_cfg
r12377 r12724 40 40 !----------------------------------------------------------------------- 41 41 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 42 rn_ rdt = 1440. ! time step for the dynamics (and tracer if nn_acc=0)42 rn_Dt = 1440. ! time step for the dynamics (and tracer if nn_acc=0) 43 43 rn_atfp = 0.05 ! asselin time filter parameter 44 44 / … … 204 204 ln_bt_av = .true. ! Time filtering of barotropic variables 205 205 nn_bt_flt = 1 ! Time filter choice = 0 None 206 ! ! = 1 Boxcar over nn_ barosub-steps207 ! ! = 2 Boxcar over 2*nn_ baro" "206 ! ! = 1 Boxcar over nn_e sub-steps 207 ! ! = 2 Boxcar over 2*nn_e " " 208 208 ln_bt_auto = .false. ! Number of sub-step defined from: 209 nn_ baro = 24 ! =F : the number of sub-step in rn_rdt seconds209 nn_e = 24 ! =F : the number of sub-step in rn_Dt seconds 210 210 / 211 211 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/VORTEX/MY_SRC/domvvl.F90
r12377 r12724 237 237 IF( ln_vvl_ztilde_as_zstar ) THEN ! z-star emulation using z-tile 238 238 frq_rst_e3t(:,:) = 0._wp !Ignore namelist settings 239 frq_rst_hdv(:,:) = 1._wp / r dt239 frq_rst_hdv(:,:) = 1._wp / rn_Dt 240 240 ENDIF 241 241 IF ( ln_vvl_zstar_at_eqtor ) THEN ! use z-star in vicinity of the Equator … … 250 250 ! values inside the equatorial band (ztilde as zstar) 251 251 frq_rst_e3t(ji,jj) = 0.0_wp 252 frq_rst_hdv(ji,jj) = 1.0_wp / r dt252 frq_rst_hdv(ji,jj) = 1.0_wp / rn_Dt 253 253 ELSE ! transition band (2.5 to 6 degrees N/S) 254 254 ! ! (linearly transition from z-tilde to z-star) … … 256 256 & * ( 1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp) & 257 257 & * 180._wp / 3.5_wp ) ) 258 frq_rst_hdv(ji,jj) = (1.0_wp / r dt) &259 & + ( frq_rst_hdv(ji,jj)-(1.e0_wp / r dt) )*0.5_wp &258 frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt) & 259 & + ( frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp & 260 260 & * ( 1._wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp) & 261 261 & * 180._wp / 3.5_wp ) ) … … 268 268 ij0 = 128 ; ij1 = 135 ; 269 269 frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.0_wp 270 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / r dt270 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / rn_Dt 271 271 ENDIF 272 272 ENDIF … … 323 323 INTEGER :: ji, jj, jk ! dummy loop indices 324 324 INTEGER , DIMENSION(3) :: ijk_max, ijk_min ! temporary integers 325 REAL(wp) :: z 2dt, z_tmin, z_tmax! local scalars325 REAL(wp) :: z_tmin, z_tmax ! local scalars 326 326 LOGICAL :: ll_do_bclinic ! local logical 327 327 REAL(wp), DIMENSION(jpi,jpj) :: zht, z_scale, zwu, zwv, zhdiv … … 377 377 IF( kt > nit000 ) THEN 378 378 DO jk = 1, jpkm1 379 hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - r dt * frq_rst_hdv(:,:) &379 hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:) & 380 380 & * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) ) 381 381 END DO … … 446 446 ! Leapfrog time stepping 447 447 ! ~~~~~~~~~~~~~~~~~~~~~~ 448 IF( neuler == 0 .AND. kt == nit000 ) THEN449 z2dt = rdt450 ELSE451 z2dt = 2.0_wp * rdt452 ENDIF453 448 CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 454 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)449 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 455 450 456 451 ! Maximum deformation control … … 638 633 ! - ML - e3(t/u/v)_b are allready computed in dynnxt. 639 634 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 640 IF( neuler == 0 .AND. kt == nit000) THEN635 IF( l_1st_euler ) THEN 641 636 tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) 642 637 ELSE 643 638 tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) & 644 & + atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )639 & + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) ) 645 640 ENDIF 646 641 tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:) … … 849 844 e3t(:,:,:,Kbb) = e3t_0(:,:,:) 850 845 END WHERE 851 IF( neuler == 0) THEN846 IF( l_1st_euler ) THEN 852 847 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 853 848 ENDIF … … 855 850 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files' 856 851 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 857 IF(lwp) write(numout,*) ' neuler is forced to 0'852 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 858 853 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 859 854 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 860 neuler = 0855 l_1st_euler = .true. 861 856 ELSE IF( id2 > 0 ) THEN 862 857 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files' 863 858 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 864 IF(lwp) write(numout,*) ' neuler is forced to 0'859 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 865 860 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 866 861 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 867 neuler = 0862 l_1st_euler = .true. 868 863 ELSE 869 864 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file' 870 865 IF(lwp) write(numout,*) 'Compute scale factor from sshn' 871 IF(lwp) write(numout,*) ' neuler is forced to 0'866 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 872 867 DO jk = 1, jpk 873 868 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) & … … 876 871 END DO 877 872 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 878 neuler = 0873 l_1st_euler = .true. 879 874 ENDIF 880 875 ! ! ----------- ! … … 1039 1034 WRITE(numout,*) ' rn_rst_e3t = 0.e0' 1040 1035 WRITE(numout,*) ' hard-wired : z-tilde cutoff frequency of low-pass filter (days)' 1041 WRITE(numout,*) ' rn_lf_cutoff = 1.0/r dt'1036 WRITE(numout,*) ' rn_lf_cutoff = 1.0/rn_Dt' 1042 1037 ELSE 1043 1038 WRITE(numout,*) ' z-tilde to zstar restoration timescale (days) rn_rst_e3t = ', rn_rst_e3t -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/VORTEX/MY_SRC/usrdef_istate.F90
r10425 r12724 69 69 zH = 0.5_wp * 5000._wp 70 70 ! 71 zP0 = r au0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp)71 zP0 = rho0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp) 72 72 ! 73 73 ! Sea level: … … 77 77 zx = glamt(ji,jj) * 1.e3 78 78 zy = gphit(ji,jj) * 1.e3 79 zrho1 = r au0 + za * EXP(-(zx**2+zy**2)/zlambda**2)79 zrho1 = rho0 + za * EXP(-(zx**2+zy**2)/zlambda**2) 80 80 pssh(ji,jj) = zP0 * EXP(-(zx**2+zy**2)/zlambda**2)/(zrho1*grav) * ptmask(ji,jj,1) 81 81 END DO … … 89 89 DO jk=1,jpk 90 90 zdt = pdept(ji,jj,jk) 91 zrho1 = r au0 * (1._wp + zn2*zdt/grav)91 zrho1 = rho0 * (1._wp + zn2*zdt/grav) 92 92 IF (zdt < zH) THEN 93 93 zrho1 = zrho1 - zP0 * (1._wp-EXP(zdt-zH)) & 94 94 & * EXP(-(zx**2+zy**2)/zlambda**2) / (grav*(zH -1._wp + exp(-zH))); 95 95 ENDIF 96 pts(ji,jj,jk,jp_tem) = (20._wp + (r au0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)96 pts(ji,jj,jk,jp_tem) = (20._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk) 97 97 END DO 98 98 END DO … … 103 103 ! 104 104 ! velocities: 105 za = 2._wp * zP0 / (zf0 * r au0 * zlambda**2)105 za = 2._wp * zP0 / (zf0 * rho0 * zlambda**2) 106 106 DO ji=1, jpim1 107 107 DO jj=1, jpj -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/tests/WAD/EXPREF/namelist_cfg
r12377 r12724 43 43 ! 44 44 ln_meshmask = .true. ! create (>0) a mesh file or not (=0) 45 rn_ rdt = 18. ! time step for the dynamics45 rn_Dt = 18. ! time step for the dynamics 46 46 / 47 47 !----------------------------------------------------------------------- … … 344 344 ln_dynspg_ts = .true. ! split-explicit free surface 345 345 ln_bt_auto = .false. ! Number of sub-step defined from: 346 nn_ baro = 12 ! =F : the number of sub-step in rn_rdt seconds346 nn_e = 12 ! =F : the number of sub-step in rn_Dt seconds 347 347 / 348 348 !-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.