Changeset 14433 for NEMO/trunk/tests
- Timestamp:
- 2021-02-11T09:06:49+01:00 (3 years ago)
- Location:
- NEMO/trunk/tests
- Files:
-
- 43 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/tests/BENCH/EXPREF/namelist_cfg_orca025_like
r14229 r14433 18 18 nn_jsize = 1206 !! 1049 ! number of point in j-direction of global(local) domain if >0 (<0) 19 19 nn_ksize = 75 ! total number of point in k-direction 20 nn_perio = 4 ! periodicity 20 ln_Iperio = .true. ! i-periodicity 21 ln_Jperio = .false. ! j-periodicity 22 ln_NFold = .true. ! North pole folding 23 cn_NFtype = 'T' ! Folding type: T or F 21 24 / 22 25 !----------------------------------------------------------------------- -
NEMO/trunk/tests/BENCH/EXPREF/namelist_cfg_orca12_like
r14229 r14433 18 18 nn_jsize = 3146 ! number of point in j-direction of global(local) domain if >0 (<0) 19 19 nn_ksize = 75 ! total number of point in k-direction 20 nn_perio = 4 ! periodicity 20 ln_Iperio = .true. ! i-periodicity 21 ln_Jperio = .false. ! j-periodicity 22 ln_NFold = .true. ! North pole folding 23 cn_NFtype = 'T' ! Folding type: T or F 21 24 / 22 25 !----------------------------------------------------------------------- -
NEMO/trunk/tests/BENCH/EXPREF/namelist_cfg_orca1_like
r14229 r14433 18 18 nn_jsize = 331 ! number of point in j-direction of global(local) domain if >0 (<0) 19 19 nn_ksize = 75 ! total number of point in k-direction 20 nn_perio = 6 ! periodicity 20 ln_Iperio = .true. ! i-periodicity 21 ln_Jperio = .false. ! j-periodicity 22 ln_NFold = .true. ! North pole folding 23 cn_NFtype = 'F' ! Folding type: T or F 21 24 / 22 25 !----------------------------------------------------------------------- -
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_nam.F90
r13286 r14433 29 29 CONTAINS 30 30 31 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)31 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 32 32 !!---------------------------------------------------------------------- 33 33 !! *** ROUTINE dom_nam *** … … 41 41 !! ** input : - namusr_def namelist found in namelist_cfg 42 42 !!---------------------------------------------------------------------- 43 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 44 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 45 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 46 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 47 ! 43 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 44 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 45 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 46 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 47 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 48 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 48 49 ! 49 50 INTEGER :: ios ! Local integer … … 52 53 INTEGER :: nn_jsize ! number of point in j-direction of global(local) domain if >0 (<0) 53 54 INTEGER :: nn_ksize ! total number of point in k-direction 54 INTEGER :: nn_perio ! periodicity55 55 ! !!* nammpp namelist *!! 56 56 INTEGER :: jpni, jpnj 57 LOGICAL :: ln_nnogather, ln_listonly 57 LOGICAL :: ln_listonly 58 LOGICAL :: ln_Iperio, ln_Jperio 59 LOGICAL :: ln_NFold 60 character(len=1) :: cn_NFtype 58 61 !! 59 NAMELIST/namusr_def/ nn_isize, nn_jsize, nn_ksize, nn_perio60 NAMELIST/nammpp/ jpni, jpnj, nn_hls, ln_nnogather, ln_listonly 62 NAMELIST/namusr_def/ nn_isize, nn_jsize, nn_ksize, ln_Iperio, ln_Jperio, ln_NFold, cn_NFtype 63 NAMELIST/nammpp/ jpni, jpnj, nn_hls, ln_nnogather, ln_listonly, nn_comm 61 64 !!---------------------------------------------------------------------- 62 65 ! … … 83 86 kpj = nn_jsize 84 87 ENDIF 88 kpk = nn_ksize 85 89 ! 86 kpk = nn_ksize 87 kperio = nn_perio 90 ldIperio = ln_Iperio ; ldJperio = ln_Jperio 91 ldNFold = ln_NFold ; cdNFtype = cn_NFtype 92 ! 88 93 ! ! control print 89 94 IF(lwp) THEN … … 107 112 ENDIF 108 113 WRITE(numout,*) ' global domain size-z nn_ksize = ', nn_ksize 109 WRITE(numout,*) ' LBC of the global domain kperio = ', kperio114 WRITE(numout,*) ' ' 110 115 ENDIF 111 116 ! -
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_sbc.F90
r14273 r14433 110 110 END_2D 111 111 112 CALL lbc_lnk _multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. )112 CALL lbc_lnk( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 113 113 #endif 114 114 ! -
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_zgr.F90
r13286 r14433 197 197 ! 198 198 199 !!$ IF( jperio == 3 .OR. jperio == 4) THEN ! add a small island in the upper corners to avoid model instabilities...199 !!$ IF( c_NFtype == 'T' ) THEN ! add a small island in the upper corners to avoid model instabilities... 200 200 !!$ z2d(mi0( nn_hls):mi1( nn_hls+2 ),mj0(jpjglo-nn_hls-1):mj1(jpjglo-nn_hls+1)) = 0. 201 201 !!$ z2d(mi0(jpiglo-nn_hls):mi1(MIN(jpiglo,jpiglo-nn_hls+2)),mj0(jpjglo-nn_hls-1):mj1(jpjglo-nn_hls+1)) = 0. … … 203 203 !!$ ENDIF 204 204 !!$ ! 205 !!$ IF( jperio == 5 .OR. jperio == 6) THEN ! add a small island in the upper corners to avoid model instabilities...205 !!$ IF( c_NFtype == 'F' ) THEN ! add a small island in the upper corners to avoid model instabilities... 206 206 !!$ z2d(mi0( nn_hls):mi1( nn_hls+1),mj0(jpjglo-nn_hls):mj1(jpjglo-nn_hls+1)) = 0. 207 207 !!$ z2d(mi0(jpiglo-nn_hls):mi1(jpiglo-nn_hls+1),mj0(jpjglo-nn_hls):mj1(jpjglo-nn_hls+1)) = 0. … … 210 210 211 211 ! 212 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero ( here jperio=0 ==>> closed)212 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (closed boundaries) 213 213 ! 214 214 k_bot(:,:) = INT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere -
NEMO/trunk/tests/C1D_ASICS/MY_SRC/usrdef_nam.F90
r14021 r14433 39 39 CONTAINS 40 40 41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 42 42 !!---------------------------------------------------------------------- 43 43 !! *** ROUTINE dom_nam *** … … 51 51 !! ** input : - namusr_def namelist found in namelist_cfg 52 52 !!---------------------------------------------------------------------- 53 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 55 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 56 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 53 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 55 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 56 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 57 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 58 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 57 59 ! 58 60 INTEGER :: ios ! Local integer … … 72 74 kpi = 3 73 75 kpj = 3 74 kpk = 75 76 kpk = 75 75 77 ! ! Set the lateral boundary condition of the global domain 76 kperio = 7 ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition 78 ldIperio = .TRUE. ; ldJperio = .true. ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition 79 ldNFold = .FALSE. ; cdNFtype = '-' 77 80 ! 78 81 ! ! control print … … 90 93 WRITE(numout,*) ' jpjglo = ', kpj 91 94 WRITE(numout,*) ' jpkglo = ', kpk 92 WRITE(numout,*) ' Lateral boundary condition of the global domain' 93 WRITE(numout,*) ' C1D : closed basin jperio = ', kperio 95 WRITE(numout,*) ' ' 94 96 ENDIF 95 97 ! -
NEMO/trunk/tests/CANAL/EXPREF/namelist_cfg
r14229 r14433 49 49 ln_sshnoise = .FALSE. ! add random noise on initial ssh 50 50 rn_lambda = 50. ! gaussian lambda 51 nn_perio = 1 51 ln_Iperio = .true. ! i-periodicity 52 ln_Jperio = .false. ! j-periodicity 52 53 / 53 54 !----------------------------------------------------------------------- -
NEMO/trunk/tests/CANAL/MY_SRC/usrdef_hgr.F90
r14223 r14433 64 64 ! 65 65 INTEGER :: ji, jj ! dummy loop indices 66 REAL(wp) :: zphi0, zlam0, zbeta, zf0 66 INTEGER :: ii0, ij0 ! dummy loop indices 67 REAL(wp) :: zbeta, zf0 67 68 REAL(wp) :: zti, ztj ! local scalars 68 69 !!------------------------------------------------------------------------------- … … 77 78 ! Position coordinates (in kilometers) 78 79 ! ========== 79 zlam0 = -REAL(Ni0glo, wp) * rn_0xratio * rn_dx80 zphi0 = -REAL(Nj0glo, wp) * rn_0yratio * rn_dy80 ii0 = NINT( REAL(Ni0glo, wp) * rn_0xratio ) 81 ij0 = NINT( REAL(Nj0glo, wp) * rn_0yratio ) 81 82 82 83 #if defined key_agrif 83 84 ! ! let lower left longitude and latitude from parent 84 85 IF (.NOT.Agrif_root()) THEN 85 zlam0 = (0.5_wp-(Agrif_parent(jpiglo)-1)/2)*Agrif_irhox()*rn_dx & 86 &+(Agrif_Ix()+nbghostcells-1)*Agrif_irhox()*rn_dx-(0.5_wp+nbghostcells)*rn_dx 87 zphi0 = (0.5_wp-(Agrif_parent(jpjglo)-1)/2)*Agrif_irhoy()*rn_dy & 88 &+(Agrif_Iy()+nbghostcells-1)*Agrif_irhoy()*rn_dy-(0.5_wp+nbghostcells)*rn_dy 86 to be coded... 89 87 ENDIF 90 88 #endif 91 89 92 90 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 93 zti = REAL( mig0(ji) , wp ) - 0.5_wp ! start at i=0.5in the global grid without halos94 ztj = REAL( mjg0(jj) , wp ) - 0.5_wp ! start at j=0.5in the global grid without halos91 zti = REAL( mig0(ji)-ii0, wp ) ! =0 at i=ii0 in the global grid without halos 92 ztj = REAL( mjg0(jj)-ij0, wp ) ! =0 at i=ij0 in the global grid without halos 95 93 96 plamt(ji,jj) = zlam0 +rn_dx * zti97 plamu(ji,jj) = zlam0 +rn_dx * ( zti + 0.5_wp )94 plamt(ji,jj) = rn_dx * zti 95 plamu(ji,jj) = rn_dx * ( zti + 0.5_wp ) 98 96 plamv(ji,jj) = plamt(ji,jj) 99 97 plamf(ji,jj) = plamu(ji,jj) 100 98 101 pphit(ji,jj) = zphi0 +rn_dy * ztj102 pphiv(ji,jj) = zphi0 +rn_dy * ( ztj + 0.5_wp )99 pphit(ji,jj) = rn_dy * ztj 100 pphiv(ji,jj) = rn_dy * ( ztj + 0.5_wp ) 103 101 pphiu(ji,jj) = pphit(ji,jj) 104 102 pphif(ji,jj) = pphiv(ji,jj) -
NEMO/trunk/tests/CANAL/MY_SRC/usrdef_istate.F90
r14224 r14433 239 239 ! 240 240 CALL lbc_lnk( 'usrdef_istate', pts , 'T', 1. ) 241 CALL lbc_lnk _multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. )241 CALL lbc_lnk( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 242 242 243 243 END SUBROUTINE usr_def_istate -
NEMO/trunk/tests/CANAL/MY_SRC/usrdef_nam.F90
r13472 r14433 50 50 LOGICAL , PUBLIC :: ln_sshnoise=.false. ! add random noise on initial ssh 51 51 REAL(wp), PUBLIC :: rn_lambda = 50. ! gaussian lambda 52 INTEGER , PUBLIC :: nn_perio = 0 ! periodicity of the channel (0=closed, 1=E-W)53 52 54 53 !!---------------------------------------------------------------------- … … 59 58 CONTAINS 60 59 61 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)60 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 62 61 !!---------------------------------------------------------------------- 63 62 !! *** ROUTINE dom_nam *** … … 71 70 !! ** input : - namusr_def namelist found in namelist_cfg 72 71 !!---------------------------------------------------------------------- 73 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 74 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 75 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 76 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 72 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 73 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 74 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 75 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 76 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 77 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 77 78 ! 78 79 INTEGER :: ios ! Local integer 79 80 REAL(wp):: zh ! Local scalars 81 LOGICAL :: ln_Iperio, ln_Jperio 80 82 !! 81 83 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_dz, rn_0xratio, rn_0yratio & 82 84 & , nn_fcase, rn_ppgphi0, rn_u10, rn_windszx, rn_windszy & !!, rn_uofac & 83 85 & , rn_vtxmax, rn_uzonal, rn_ujetszx, rn_ujetszy & 84 & , nn_botcase, nn_initcase, ln_sshnoise, rn_lambda, nn_perio86 & , nn_botcase, nn_initcase, ln_sshnoise, rn_lambda, ln_Iperio, ln_Jperio 85 87 !!---------------------------------------------------------------------- 86 88 ! … … 102 104 #endif 103 105 ! 104 IF(lwm) WRITE( numond, namusr_def )105 !106 106 cd_cfg = 'EW_CANAL' ! name & resolution (not used) 107 107 kk_cfg = INT( rn_dx ) … … 109 109 IF( Agrif_Root() ) THEN ! Global Domain size: EW_CANAL global domain is 1800 km x 1800 Km x 5000 m 110 110 kpi = NINT( rn_domszx / rn_dx ) + 1 111 kpj = NINT( rn_domszy / rn_dy ) + 3111 kpj = NINT( rn_domszy / rn_dy ) + 1 112 112 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side 113 113 kpi = nbcellsx + nbghostcells_x + nbghostcells_x + 2 … … 117 117 ! 118 118 zh = (kpk-1)*rn_dz 119 ! ! Set the lateral boundary condition of the global domain120 kperio = 1 ! EW_CANAL configuration : closed basin121 119 ! ! control print 122 120 IF(lwp) THEN … … 149 147 WRITE(numout,*) ' add random noise on initial ssh ln_sshnoise= ', ln_sshnoise 150 148 WRITE(numout,*) ' Gaussian lambda parameter rn_lambda = ', rn_lambda 151 WRITE(numout,*) ' Periodicity of the basin nn_perio = ', nn_perio 149 WRITE(numout,*) ' i and j Periodicity ln_Iperio, ln_Jperio = ', ln_Iperio, ln_Jperio 150 WRITE(numout,*) ' ' 152 151 ENDIF 153 152 ! ! Set the lateral boundary condition of the global domain 154 kperio = nn_perio ! EW_CANAL configuration : closed basin 153 ldIperio = ln_Iperio ; ldJperio = ln_Jperio ! CANAL configuration 154 ldNFold = .FALSE. ; cdNFtype = '-' 155 155 ! 156 156 END SUBROUTINE usr_def_nam -
NEMO/trunk/tests/CANAL/MY_SRC/usrdef_zgr.F90
r13472 r14433 202 202 END SELECT 203 203 ! 204 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero ( here jperio=0 ==>> closed)204 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (closed boundaries) 205 205 ! 206 206 k_bot(:,:) = NINT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere -
NEMO/trunk/tests/DOME/MY_SRC/usrdef_nam.F90
r14254 r14433 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 54 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 58 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 59 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 58 60 ! 59 61 INTEGER :: ios ! Local integer … … 97 99 zh = (kpk-1)*rn_dz 98 100 ! ! Set the lateral boundary condition of the global domain 99 kperio = 0 ! DOME configuration : closed basin 101 ldIperio = .FALSE. ; ldJperio = .FALSE. ! DOME configuration : closed domain 102 ldNFold = .FALSE. ; cdNFtype = '-' 103 ! 100 104 ! ! control print 101 105 IF(lwp) THEN … … 118 122 WRITE(numout,*) ' Coriolis frequency rn_f0 = ', rn_f0, ' s-1' 119 123 WRITE(numout,*) ' ' 120 WRITE(numout,*) ' Lateral boundary condition of the global domain'121 WRITE(numout,*) ' DOME : closed basin jperio = ', kperio122 124 ENDIF 123 125 ! -
NEMO/trunk/tests/DOME/MY_SRC/usrdef_zgr.F90
r14261 r14433 98 98 END DO 99 99 END DO 100 CALL lbc_lnk _multi( 'usrdef_zgr', zhu, 'U', 1.0_wp, zhv, 'V', 1.0_wp, zhf, 'F', 1.0_wp)100 CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1.0_wp, zhv, 'V', 1.0_wp, zhf, 'F', 1.0_wp) 101 101 ! 102 102 CALL zgr_z1d( pdept_1d, pdepw_1d, pe3t_1d , pe3w_1d ) ! Reference z-coordinate system … … 106 106 ! 107 107 ! no ocean cavities : top ocean level is ONE, except over land 108 ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0108 ! the ocean basin surrounded by land (1+nn_hls grid-point) set through lbc_lnk call 109 109 z2d(:,:) = 1._wp ! surface ocean is the 1st level 110 110 WHERE (gphit(:,:)>0._wp) z2d(:,:) = 0._wp 111 111 ! Dig inlet: 112 112 WHERE ((gphit(:,:)>0._wp).AND.(glamt(:,:)>-50._wp).AND.(glamt(:,:)<50._wp)) z2d(:,:) = 1._wp 113 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90)113 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin, see userdef_nam.F90 114 114 k_top(:,:) = NINT( z2d(:,:) ) 115 115 ! -
NEMO/trunk/tests/ICB/MY_SRC/usrdef_nam.F90
r13899 r14433 42 42 CONTAINS 43 43 44 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)44 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 45 45 !!---------------------------------------------------------------------- 46 46 !! *** ROUTINE dom_nam *** … … 54 54 !! ** input : - namusr_def namelist found in namelist_cfg 55 55 !!---------------------------------------------------------------------- 56 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 57 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 58 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 59 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 56 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 57 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 58 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 59 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 60 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 61 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 60 62 ! 61 63 INTEGER :: ios ! Local integer … … 78 80 ! 79 81 ! ! Set the lateral boundary condition of the global domain 80 kperio = 0 ! ICB configuration : box 82 ldIperio = .FALSE. ; ldJperio = .FALSE. ! ICB configuration : closed domain 83 ldNFold = .FALSE. ; cdNFtype = '-' 81 84 ! 82 85 ! ! control print … … 99 102 WRITE(numout,*) ' jpkglo = ', kpk 100 103 WRITE(numout,*) ' ' 101 WRITE(numout,*) ' Lateral boundary condition of the global domain'102 WRITE(numout,*) ' ICB : closed basin jperio = ', kperio103 104 ENDIF 104 105 ! -
NEMO/trunk/tests/ICE_ADV1D/MY_SRC/usrdef_nam.F90
r13286 r14433 39 39 CONTAINS 40 40 41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 42 42 !!---------------------------------------------------------------------- 43 43 !! *** ROUTINE dom_nam *** … … 51 51 !! ** input : - namusr_def namelist found in namelist_cfg 52 52 !!---------------------------------------------------------------------- 53 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 55 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 56 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 53 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 55 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 56 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 57 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 58 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 57 59 ! 58 60 INTEGER :: ios ! Local integer … … 78 80 zly = kpj*rn_dy*1.e-3 79 81 ! ! Set the lateral boundary condition of the global domain 80 kperio = 0 ! ICE_ADV1D configuration : bi-periodic basin 82 ldIperio = .FALSE. ; ldJperio = .FALSE. ! ICE_ADV1D configuration : closed domain 83 ldNFold = .FALSE. ; cdNFtype = '-' 84 ! 81 85 ! ! control print 82 86 IF(lwp) THEN … … 95 99 WRITE(numout,*) ' Coriolis:', ln_corio 96 100 WRITE(numout,*) ' ' 97 WRITE(numout,*) ' Lateral boundary condition of the global domain'98 WRITE(numout,*) ' ICE_ADV1D : closed basin jperio = ', kperio99 101 ENDIF 100 102 ! -
NEMO/trunk/tests/ICE_ADV2D/MY_SRC/usrdef_nam.F90
r13286 r14433 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 54 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 58 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 59 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 58 60 ! 59 61 INTEGER :: ios ! Local integer … … 96 98 zly = kpj*rn_dy*1.e-3 97 99 ! 98 IF( Agrif_Root() ) THEN ; kperio = 7 ! ICE_AGRIFconfiguration : bi-periodic basin99 ELSE ; kperio = 0! closed periodicity for the zoom100 IF( Agrif_Root() ) THEN ; ldIperio = .TRUE. ; ldJperio = .TRUE. ! ICE_ADV2D configuration : bi-periodic basin 101 ELSE ; ldIperio = .FALSE. ; ldJperio = .FALSE. ! closed periodicity for the zoom 100 102 ENDIF 103 ldNFold = .FALSE. ; cdNFtype = '-' 104 ! 101 105 ! ! control print 102 106 IF(lwp) THEN … … 115 119 WRITE(numout,*) ' Coriolis:', ln_corio 116 120 WRITE(numout,*) ' ' 117 WRITE(numout,*) ' Lateral boundary condition of the global domain'118 WRITE(numout,*) ' ICE_ADV2D : bi-periodic basin jperio = ', kperio119 121 ENDIF 120 122 ! -
NEMO/trunk/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90
r14223 r14433 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 54 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 58 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 59 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 58 60 ! 59 61 INTEGER :: ios ! Local integer … … 98 100 zly = kpj*rn_dy*1.e-3 99 101 ! 100 IF( Agrif_Root() ) THEN ; kperio = 7! ICE_AGRIF configuration : bi-periodic basin101 ELSE ; kperio = 0! closed periodicity for the zoom102 IF( Agrif_Root() ) THEN ; ldIperio = .TRUE. ; ldJperio = .TRUE. ! ICE_AGRIF configuration : bi-periodic basin 103 ELSE ; ldIperio = .FALSE. ; ldJperio = .FALSE. ! closed periodicity for the zoom 102 104 ENDIF 105 ldNFold = .FALSE. ; cdNFtype = '-' 106 ! 103 107 ! ! control print 104 108 IF(lwp) THEN … … 117 121 WRITE(numout,*) ' Coriolis:', ln_corio 118 122 WRITE(numout,*) ' ' 119 WRITE(numout,*) ' Lateral boundary condition of the global domain'120 WRITE(numout,*) ' ICE_AGRIF : bi-periodic basin jperio = ', kperio121 123 ENDIF 122 124 ! -
NEMO/trunk/tests/ICE_RHEO/MY_SRC/icedyn_rhg_eap.F90
r14120 r14433 354 354 355 355 END_2D 356 CALL lbc_lnk _multi( 'icedyn_rhg_eap', zmf, 'T', 1.0_wp, zdt_m, 'T', 1.0_wp )356 CALL lbc_lnk( 'icedyn_rhg_eap', zmf, 'T', 1.0_wp, zdt_m, 'T', 1.0_wp ) 357 357 ! 358 358 ! !== Landfast ice parameterization ==! … … 492 492 zs2(ji,jj) = ( zs2(ji,jj) * zalph1 + zstressmtmp ) * z1_alph1 493 493 END_2D 494 CALL lbc_lnk _multi( 'icedyn_rhg_eap', zstress12tmp, 'T', 1.0_wp , paniso_11, 'T', 1.0_wp , paniso_12, 'T', 1.0_wp)494 CALL lbc_lnk( 'icedyn_rhg_eap', zstress12tmp, 'T', 1.0_wp , paniso_11, 'T', 1.0_wp , paniso_12, 'T', 1.0_wp) 495 495 496 496 ! Save beta at T-points for further computations … … 520 520 521 521 END_2D 522 CALL lbc_lnk _multi( 'icedyn_rhg_eap', zs1, 'T', 1.0_wp, zs2, 'T', 1.0_wp, zs12, 'F', 1.0_wp )522 CALL lbc_lnk( 'icedyn_rhg_eap', zs1, 'T', 1.0_wp, zs2, 'T', 1.0_wp, zs12, 'F', 1.0_wp ) 523 523 524 524 ! --- Ice internal stresses (Appendix C of Hunke and Dukowicz, 2002) --- ! … … 832 832 833 833 END_2D 834 CALL lbc_lnk _multi( 'icedyn_rhg_eap', pshear_i, 'T', 1.0_wp, pdivu_i, 'T', 1.0_wp, pdelta_i, 'T', 1.0_wp, &835 & 836 & 834 CALL lbc_lnk( 'icedyn_rhg_eap', pshear_i, 'T', 1.0_wp, pdivu_i, 'T', 1.0_wp, pdelta_i, 'T', 1.0_wp, & 835 & zten_i, 'T', 1.0_wp, zs1 , 'T', 1.0_wp, zs2 , 'T', 1.0_wp, & 836 & zs12, 'F', 1.0_wp ) 837 837 838 838 ! --- Store the stress tensor for the next time step --- ! … … 849 849 & iom_use('utau_bi') .OR. iom_use('vtau_bi') ) THEN 850 850 ! 851 CALL lbc_lnk _multi( 'icedyn_rhg_eap', ztaux_oi, 'U', -1.0_wp, ztauy_oi, 'V', -1.0_wp, ztaux_ai, 'U', -1.0_wp, &852 & 851 CALL lbc_lnk( 'icedyn_rhg_eap', ztaux_oi, 'U', -1.0_wp, ztauy_oi, 'V', -1.0_wp, ztaux_ai, 'U', -1.0_wp, & 852 & ztauy_ai, 'V', -1.0_wp, ztaux_bi, 'U', -1.0_wp, ztauy_bi, 'V', -1.0_wp ) 853 853 ! 854 854 CALL iom_put( 'utau_oi' , ztaux_oi * aimsk00 ) … … 934 934 IF( iom_use('yield11') .OR. iom_use('yield12') .OR. iom_use('yield22')) THEN 935 935 936 CALL lbc_lnk _multi( 'icedyn_rhg_eap', zyield11, 'T', 1.0_wp, zyield22, 'T', 1.0_wp, zyield12, 'T', 1.0_wp )936 CALL lbc_lnk( 'icedyn_rhg_eap', zyield11, 'T', 1.0_wp, zyield22, 'T', 1.0_wp, zyield12, 'T', 1.0_wp ) 937 937 938 938 CALL iom_put( 'yield11', zyield11 * aimsk00 ) … … 951 951 & iom_use('corstrx') .OR. iom_use('corstry') .OR. iom_use('intstrx') .OR. iom_use('intstry') ) THEN 952 952 ! 953 CALL lbc_lnk _multi( 'icedyn_rhg_eap', zspgU, 'U', -1.0_wp, zspgV, 'V', -1.0_wp, &954 & 955 & 953 CALL lbc_lnk( 'icedyn_rhg_eap', zspgU, 'U', -1.0_wp, zspgV, 'V', -1.0_wp, & 954 & zCorU, 'U', -1.0_wp, zCorV, 'V', -1.0_wp, & 955 & zfU, 'U', -1.0_wp, zfV, 'V', -1.0_wp ) 956 956 957 957 CALL iom_put( 'dssh_dx' , zspgU * aimsk00 ) ! Sea-surface tilt term in force balance (x) … … 985 985 END_2D 986 986 987 CALL lbc_lnk _multi( 'icedyn_rhg_eap', zdiag_xmtrp_ice, 'U', -1.0_wp, zdiag_ymtrp_ice, 'V', -1.0_wp, &988 & 989 & 987 CALL lbc_lnk( 'icedyn_rhg_eap', zdiag_xmtrp_ice, 'U', -1.0_wp, zdiag_ymtrp_ice, 'V', -1.0_wp, & 988 & zdiag_xmtrp_snw, 'U', -1.0_wp, zdiag_ymtrp_snw, 'V', -1.0_wp, & 989 & zdiag_xatrp , 'U', -1.0_wp, zdiag_yatrp , 'V', -1.0_wp ) 990 990 991 991 CALL iom_put( 'xmtrpice' , zdiag_xmtrp_ice ) ! X-component of sea-ice mass transport (kg/s) -
NEMO/trunk/tests/ICE_RHEO/MY_SRC/icedyn_rhg_evp.F90
r14021 r14433 320 320 321 321 END_2D 322 CALL lbc_lnk _multi( 'icedyn_rhg_evp', zmf, 'T', 1.0_wp, zdt_m, 'T', 1.0_wp )322 CALL lbc_lnk( 'icedyn_rhg_evp', zmf, 'T', 1.0_wp, zdt_m, 'T', 1.0_wp ) 323 323 ! 324 324 ! !== Landfast ice parameterization ==! … … 770 770 771 771 END_2D 772 CALL lbc_lnk _multi( 'icedyn_rhg_evp', pshear_i, 'T', 1._wp, pdivu_i, 'T', 1._wp, pdelta_i, 'T', 1._wp, zten_i, 'T', 1._wp, &773 & 772 CALL lbc_lnk( 'icedyn_rhg_evp', pshear_i, 'T', 1._wp, pdivu_i, 'T', 1._wp, pdelta_i, 'T', 1._wp, zten_i, 'T', 1._wp, & 773 & zs1 , 'T', 1._wp, zs2 , 'T', 1._wp, zs12 , 'F', 1._wp ) 774 774 775 775 ! --- Store the stress tensor for the next time step --- ! … … 786 786 & iom_use('utau_bi') .OR. iom_use('vtau_bi') ) THEN 787 787 ! 788 CALL lbc_lnk_multi( 'icedyn_rhg_evp', ztaux_oi, 'U', -1.0_wp, ztauy_oi, 'V', -1.0_wp, ztaux_ai, 'U', -1.0_wp, ztauy_ai, 'V', -1.0_wp, & 789 & ztaux_bi, 'U', -1.0_wp, ztauy_bi, 'V', -1.0_wp ) 788 CALL lbc_lnk( 'icedyn_rhg_evp', ztaux_oi, 'U', -1.0_wp, ztauy_oi, 'V', -1.0_wp, & 789 & ztaux_ai, 'U', -1.0_wp, ztauy_ai, 'V', -1.0_wp, & 790 & ztaux_bi, 'U', -1.0_wp, ztauy_bi, 'V', -1.0_wp ) 790 791 ! 791 792 CALL iom_put( 'utau_oi' , ztaux_oi * zmsk00 ) … … 871 872 & iom_use('corstrx') .OR. iom_use('corstry') .OR. iom_use('intstrx') .OR. iom_use('intstry') ) THEN 872 873 ! 873 CALL lbc_lnk _multi( 'icedyn_rhg_evp', zspgU, 'U', -1.0_wp, zspgV, 'V', -1.0_wp, &874 & 874 CALL lbc_lnk( 'icedyn_rhg_evp', zspgU, 'U', -1.0_wp, zspgV, 'V', -1.0_wp, & 875 & zCorU, 'U', -1.0_wp, zCorV, 'V', -1.0_wp, zfU, 'U', -1.0_wp, zfV, 'V', -1.0_wp ) 875 876 876 877 CALL iom_put( 'dssh_dx' , zspgU * zmsk00 ) ! Sea-surface tilt term in force balance (x) … … 904 905 END_2D 905 906 906 CALL lbc_lnk _multi( 'icedyn_rhg_evp', zdiag_xmtrp_ice, 'U', -1.0_wp, zdiag_ymtrp_ice, 'V', -1.0_wp, &907 & 908 & 907 CALL lbc_lnk( 'icedyn_rhg_evp', zdiag_xmtrp_ice, 'U', -1.0_wp, zdiag_ymtrp_ice, 'V', -1.0_wp, & 908 & zdiag_xmtrp_snw, 'U', -1.0_wp, zdiag_ymtrp_snw, 'V', -1.0_wp, & 909 & zdiag_xatrp , 'U', -1.0_wp, zdiag_yatrp , 'V', -1.0_wp ) 909 910 910 911 CALL iom_put( 'xmtrpice' , zdiag_xmtrp_ice ) ! X-component of sea-ice mass transport (kg/s) -
NEMO/trunk/tests/ICE_RHEO/MY_SRC/usrdef_nam.F90
r14021 r14433 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 54 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 58 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 59 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 58 60 ! 59 61 INTEGER :: ios ! Local integer … … 81 83 zly = kpj*rn_dy*1.e-3 82 84 ! 83 kperio = 0 ! closed periodicity for the zoom 85 ldIperio = .FALSE. ; ldJperio = .FALSE. ! ICE_RHEO configuration : closed domain 86 ldNFold = .FALSE. ; cdNFtype = '-' 87 ! 84 88 ! ! control print 85 89 IF(lwp) THEN … … 98 102 WRITE(numout,*) ' Coriolis:', ln_corio 99 103 WRITE(numout,*) ' ' 100 WRITE(numout,*) ' Lateral boundary condition of the global domain'101 WRITE(numout,*) ' ICE_RHEO closed basin jperio = ', kperio102 104 ENDIF 103 105 ! -
NEMO/trunk/tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90
r14273 r14433 126 126 windv(ji,jj) = Umax/sqrt(d*1000)*(d-2*mjg(jj)*res)/((d-2*mig(ji)*res)**2+(d-2*mjg(jj)*res)**2*Rwind**2)**(1/4)*Rwind*min(kt*30./21600,1.) 127 127 END_2D 128 CALL lbc_lnk _multi( 'usrdef_sbc', windu, 'U', -1., windv, 'V', -1. )128 CALL lbc_lnk( 'usrdef_sbc', windu, 'U', -1., windv, 'V', -1. ) 129 129 130 130 wndm_ice(:,:) = 0._wp !!gm brutal.... … … 156 156 & * ( 0.5 * (windv(ji,jj+1) + windv(ji,jj) ) - r_vfac * v_ice(ji,jj) ) 157 157 END_2D 158 CALL lbc_lnk _multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. )158 CALL lbc_lnk( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 159 159 ! 160 160 END SUBROUTINE usrdef_sbc_ice_tau -
NEMO/trunk/tests/ISOMIP/MY_SRC/usrdef_nam.F90
r13286 r14433 41 41 CONTAINS 42 42 43 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)43 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 44 44 !!---------------------------------------------------------------------- 45 45 !! *** ROUTINE dom_nam *** … … 53 53 !! ** input : - namusr_def namelist found in namelist_cfg 54 54 !!---------------------------------------------------------------------- 55 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 56 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 57 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 58 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 55 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 56 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 57 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 58 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 59 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 60 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 59 61 ! 60 62 INTEGER :: ios ! Local integer … … 77 79 ! 78 80 ! ! Set the lateral boundary condition of the global domain 79 kperio = 0 ! ISOMIP configuration : close basin 81 ldIperio = .FALSE. ; ldJperio = .FALSE. ! ISOMIP configuration : closed domain 82 ldNFold = .FALSE. ; cdNFtype = '-' 80 83 ! 81 84 ! ! control print … … 98 101 WRITE(numout,*) ' jpkglo = ', kpk 99 102 WRITE(numout,*) ' ' 100 WRITE(numout,*) ' Lateral boundary condition of the global domain'101 WRITE(numout,*) ' ISOMIP : closed basin jperio = ', kperio102 103 ENDIF 103 104 ! -
NEMO/trunk/tests/LOCK_EXCHANGE/MY_SRC/usrdef_nam.F90
r13286 r14433 37 37 CONTAINS 38 38 39 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)39 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 40 40 !!---------------------------------------------------------------------- 41 41 !! *** ROUTINE dom_nam *** … … 49 49 !! ** input : - namusr_def namelist found in namelist_cfg 50 50 !!---------------------------------------------------------------------- 51 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 52 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 53 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 54 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 51 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 52 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 53 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 54 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 55 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 56 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 55 57 ! 56 58 INTEGER :: ios ! Local integer … … 73 75 kpk = INT( 20. / rn_dz ) + 1 74 76 ! ! Set the lateral boundary condition of the global domain 75 kperio = 0 ! LOCK_EXCHANGE configuration : closed domain 77 ldIperio = .FALSE. ; ldJperio = .FALSE. ! LOCK_EXCHANGE configuration : closed domain 78 ldNFold = .FALSE. ; cdNFtype = '-' 76 79 ! 77 80 ! ! control print … … 88 91 WRITE(numout,*) ' jpkglo = ', kpk 89 92 WRITE(numout,*) ' ' 90 WRITE(numout,*) ' Lateral boundary condition of the global domain'91 WRITE(numout,*) ' closed jperio = ', kperio92 93 ENDIF 93 94 ! -
NEMO/trunk/tests/LOCK_EXCHANGE/MY_SRC/usrdef_zgr.F90
r12377 r14433 84 84 ! 85 85 ! no ocean cavities : top ocean level is ONE, except over land 86 ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=086 ! the ocean basin surrounded by land (1+nn_hls grid-points) set through lbc_lnk call 87 87 z2d(:,:) = 1._wp ! surface ocean is the 1st level 88 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90)88 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin, see userdef_nam.F90 89 89 k_top(:,:) = NINT( z2d(:,:) ) 90 90 ! -
NEMO/trunk/tests/OVERFLOW/MY_SRC/usrdef_nam.F90
r13286 r14433 38 38 CONTAINS 39 39 40 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)40 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 41 41 !!---------------------------------------------------------------------- 42 42 !! *** ROUTINE dom_nam *** … … 50 50 !! ** input : - namusr_def namelist found in namelist_cfg 51 51 !!---------------------------------------------------------------------- 52 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 53 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 54 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 55 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 52 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 53 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 54 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 55 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 56 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 57 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 56 58 ! 57 59 INTEGER :: ios ! Local integer … … 88 90 WRITE(numout,*) ' Nj0glo = ', kpj 89 91 WRITE(numout,*) ' jpkglo = ', kpk 92 WRITE(numout,*) ' ' 90 93 ! 91 94 ! ! Set the lateral boundary condition of the global domain 92 kperio = 0 ! OVERFLOW configuration : close basin 93 ! 94 WRITE(numout,*) ' ' 95 WRITE(numout,*) ' Lateral boundary condition of the global domain' 96 WRITE(numout,*) ' OVERFLOW : closed basin jperio = ', kperio 95 ldIperio = .FALSE. ; ldJperio = .FALSE. ! OVERFLOW configuration : closed domain 96 ldNFold = .FALSE. ; cdNFtype = '-' 97 97 ! 98 98 END SUBROUTINE usr_def_nam -
NEMO/trunk/tests/OVERFLOW/MY_SRC/usrdef_zgr.F90
r14053 r14433 110 110 ! 111 111 ! no ocean cavities : top ocean level is ONE, except over land 112 ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0112 ! the ocean basin surrounded by land (1+nn_hls grid-points) set through lbc_lnk call 113 113 z2d(:,:) = 1._wp ! surface ocean is the 1st level 114 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90)114 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin, see userdef_nam.F90 115 115 k_top(:,:) = NINT( z2d(:,:) ) 116 116 ! -
NEMO/trunk/tests/STATION_ASF/MY_SRC/icesbc.F90
r14072 r14433 91 91 vtau_ice(ji,jj) = vtau_ice(ji,jj) * xcplmask(ji,jj,0) + zvtau_ice(ji,jj) * ( 1. - xcplmask(ji,jj,0) ) 92 92 END_2D 93 CALL lbc_lnk _multi( 'icesbc', utau_ice, 'U', -1.0_wp, vtau_ice, 'V', -1.0_wp )93 CALL lbc_lnk( 'icesbc', utau_ice, 'U', -1.0_wp, vtau_ice, 'V', -1.0_wp ) 94 94 ENDIF 95 95 ! -
NEMO/trunk/tests/STATION_ASF/MY_SRC/nemogcm.F90
r14239 r14433 243 243 ! 244 244 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 245 CALL domain_cfg ( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio)245 CALL domain_cfg ( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, l_Iperio, l_Jperio, l_NFold, c_NFtype ) 246 246 ELSE ! user-defined namelist 247 CALL usr_def_nam( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio)247 CALL usr_def_nam( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, l_Iperio, l_Jperio, l_NFold, c_NFtype ) 248 248 ENDIF 249 249 ! -
NEMO/trunk/tests/STATION_ASF/MY_SRC/stpctl.F90
r14318 r14433 113 113 ! !== done by all processes at every time step ==! 114 114 ! 115 llmsk( 1:Nis1,:) = .FALSE.! exclude halos from the checked region116 llmsk(Nie 1:jpi,:) = .FALSE.117 llmsk(:, 1:Njs1) = .FALSE.118 llmsk(:,Nje 1:jpj) = .FALSE.115 llmsk( 1:nn_hls,:) = .FALSE. ! exclude halos from the checked region 116 llmsk(Nie0+1: jpi,:) = .FALSE. 117 llmsk(:, 1:nn_hls) = .FALSE. 118 llmsk(:,Nje0+1: jpj) = .FALSE. 119 119 ! 120 120 llmsk(Nis0:Nie0,Njs0:Nje0) = tmask(Nis0:Nie0,Njs0:Nje0,1) == 1._wp ! test only the inner domain -
NEMO/trunk/tests/STATION_ASF/MY_SRC/usrdef_nam.F90
r14072 r14433 37 37 CONTAINS 38 38 39 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)39 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 40 40 !!---------------------------------------------------------------------- 41 41 !! *** ROUTINE dom_nam *** … … 49 49 !! ** input : - namusr_def namelist found in namelist_cfg 50 50 !!---------------------------------------------------------------------- 51 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 52 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 53 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 54 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 51 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 52 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 53 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 54 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 55 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 56 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 55 57 ! 56 58 INTEGER :: ios ! Local integer … … 73 75 ! 74 76 ! ! Set the lateral boundary condition of the global domain 75 kperio = 7 ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition 77 ldIperio = .TRUE. ; ldJperio = .true. ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition 78 ldNFold = .FALSE. ; cdNFtype = '-' 76 79 ! 77 80 ! ! control print … … 85 88 WRITE(numout,*) ' number of model levels kpk = ', kpk 86 89 WRITE(numout,*) ' ' 87 WRITE(numout,*) ' Lateral b.c. of the domain set to jperio = ', kperio88 90 ENDIF 89 91 ! -
NEMO/trunk/tests/SWG/MY_SRC/usrdef_nam.F90
r13752 r14433 57 57 CONTAINS 58 58 59 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)59 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 60 60 !!---------------------------------------------------------------------- 61 61 !! *** ROUTINE dom_nam *** … … 69 69 !! ** input : - namusr_def namelist found in namelist_cfg 70 70 !!---------------------------------------------------------------------- 71 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 72 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 73 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 74 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 71 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 72 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 73 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 74 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 75 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 76 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 75 77 ! 76 78 INTEGER :: ios ! Local integer … … 110 112 kpk = jpkglo 111 113 ! ! Set the lateral boundary condition of the global domain 112 kperio = 0 ! SWG configuration : closed domain 114 ldIperio = .FALSE. ; ldJperio = .FALSE. ! SWG configuration : closed domain 115 ldNFold = .FALSE. ; cdNFtype = '-' 113 116 ! 114 117 # if defined key_bvp … … 131 134 WRITE(numout,*) ' number of model levels jpkglo = ', kpk 132 135 WRITE(numout,*) ' ' 133 WRITE(numout,*) ' Lateral b.c. of the global domain set to closed jperio = ', kperio134 136 ENDIF 135 137 ! -
NEMO/trunk/tests/SWG/MY_SRC/usrdef_sbc.F90
r13752 r14433 104 104 END DO 105 105 106 CALL lbc_lnk _multi( 'usrdef_sbc', taum(:,:), 'T', 1. , wndm(:,:), 'T', 1. )106 CALL lbc_lnk( 'usrdef_sbc', taum(:,:), 'T', 1. , wndm(:,:), 'T', 1. ) 107 107 ! 108 108 END SUBROUTINE usrdef_sbc_oce -
NEMO/trunk/tests/SWG/MY_SRC/usrdef_zgr.F90
r14204 r14433 190 190 z2d(:,:) = REAL( jpkm1 , wp ) ! flat bottom 191 191 ! 192 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 193 ! 194 ! 192 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (closed boundaries) 193 ! 195 194 zylim0 = 10000._wp ! +10km 196 195 zylim1 = 2010000._wp ! 2010km -
NEMO/trunk/tests/TSUNAMI/EXPREF/namelist_cfg
r14297 r14433 29 29 nn_fcase = 0 ! Coriolis frequency(f) computation (0:f0, 1:Beta plan, 2:real) 30 30 rn_ppgphi0 = 38.5 ! Reference latitude [degrees] 31 nn_perio = 7 31 ln_Iperio = .true. ! i-periodicity 32 ln_Jperio = .true. ! j-periodicity 32 33 / 33 34 !----------------------------------------------------------------------- -
NEMO/trunk/tests/TSUNAMI/MY_SRC/usrdef_hgr.F90
r14225 r14433 64 64 ! 65 65 INTEGER :: ji, jj ! dummy loop indices 66 REAL(wp) :: zphi0, zlam0, zbeta, zf0 66 INTEGER :: ii0, ij0 ! dummy loop indices 67 REAL(wp) :: zbeta, zf0 67 68 REAL(wp) :: zti, ztj ! local scalars 68 69 !!------------------------------------------------------------------------------- … … 77 78 ! Position coordinates (in kilometers) 78 79 ! ========== 79 zlam0 = -REAL(Ni0glo, wp) * rn_0xratio * rn_dx80 zphi0 = -REAL(Nj0glo, wp) * rn_0yratio * rn_dy80 ii0 = NINT( REAL(Ni0glo, wp) * rn_0xratio ) 81 ij0 = NINT( REAL(Nj0glo, wp) * rn_0yratio ) 81 82 82 83 #if defined key_agrif 83 84 ! ! let lower left longitude and latitude from parent 84 85 IF (.NOT.Agrif_root()) THEN 85 zlam0 = (0.5_wp-(Agrif_parent(jpiglo)-1)/2)*Agrif_irhox()*rn_dx & 86 &+(Agrif_Ix()+nbghostcells-1)*Agrif_irhox()*rn_dx-(0.5_wp+nbghostcells)*rn_dx 87 zphi0 = (0.5_wp-(Agrif_parent(jpjglo)-1)/2)*Agrif_irhoy()*rn_dy & 88 &+(Agrif_Iy()+nbghostcells-1)*Agrif_irhoy()*rn_dy-(0.5_wp+nbghostcells)*rn_dy 86 to be coded... 89 87 ENDIF 90 88 #endif 91 89 92 90 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 93 zti = REAL( mig0(ji) , wp ) - 0.5_wp ! start at i=0.5in the global grid without halos94 ztj = REAL( mjg0(jj) , wp ) - 0.5_wp ! start at j=0.5in the global grid without halos91 zti = REAL( mig0(ji)-ii0, wp ) ! =0 at i=ii0 in the global grid without halos 92 ztj = REAL( mjg0(jj)-ij0, wp ) ! =0 at i=ij0 in the global grid without halos 95 93 96 plamt(ji,jj) = zlam0 +rn_dx * zti97 plamu(ji,jj) = zlam0 +rn_dx * ( zti + 0.5_wp )94 plamt(ji,jj) = rn_dx * zti 95 plamu(ji,jj) = rn_dx * ( zti + 0.5_wp ) 98 96 plamv(ji,jj) = plamt(ji,jj) 99 97 plamf(ji,jj) = plamu(ji,jj) 100 98 101 pphit(ji,jj) = zphi0 +rn_dy * ztj102 pphiv(ji,jj) = zphi0 +rn_dy * ( ztj + 0.5_wp )99 pphit(ji,jj) = rn_dy * ztj 100 pphiv(ji,jj) = rn_dy * ( ztj + 0.5_wp ) 103 101 pphiu(ji,jj) = pphit(ji,jj) 104 102 pphif(ji,jj) = pphiv(ji,jj) -
NEMO/trunk/tests/TSUNAMI/MY_SRC/usrdef_nam.F90
r14297 r14433 37 37 INTEGER , PUBLIC :: nn_fcase = 1 ! F computation (0:f0, 1:Beta, 2:real) 38 38 REAL(wp), PUBLIC :: rn_ppgphi0 = 38.5 ! reference latitude for beta-plane 39 INTEGER , PUBLIC :: nn_perio = 0 ! periodicity of the channel (0=closed, 1=E-W)40 39 41 40 !!---------------------------------------------------------------------- … … 46 45 CONTAINS 47 46 48 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)47 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 49 48 !!---------------------------------------------------------------------- 50 49 !! *** ROUTINE dom_nam *** … … 58 57 !! ** input : - namusr_def namelist found in namelist_cfg 59 58 !!---------------------------------------------------------------------- 60 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 61 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 62 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 63 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 59 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 60 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 61 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 62 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 63 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 64 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 64 65 ! 65 66 INTEGER :: ios ! Local integer 67 LOGICAL :: ln_Iperio, ln_Jperio 66 68 !! 67 69 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_0xratio, rn_0yratio & 68 & , nn_fcase, rn_ppgphi0, nn_perio70 & , nn_fcase, rn_ppgphi0, ln_Iperio, ln_Jperio 69 71 !!---------------------------------------------------------------------- 70 72 ! … … 85 87 #endif 86 88 ! 87 IF(lwm) WRITE( numond, namusr_def )88 !89 89 cd_cfg = 'TSUNAMI' ! name & resolution (not used) 90 90 kk_cfg = INT( rn_dx ) … … 92 92 IF( Agrif_Root() ) THEN ! Global Domain size: TSUNAMI global domain is 1800 km x 1800 Km x 5000 m 93 93 kpi = NINT( rn_domszx / rn_dx ) + 1 94 kpj = NINT( rn_domszy / rn_dy ) + 394 kpj = NINT( rn_domszy / rn_dy ) + 1 95 95 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side 96 96 kpi = nbcellsx + nbghostcells_x + nbghostcells_x + 2 … … 98 98 ENDIF 99 99 kpk = 2 100 ! ! Set the lateral boundary condition of the global domain 101 kperio = 1 ! TSUNAMI configuration : closed basin 102 ! ! control print 100 ! ! Set the lateral boundary condition of the global domain 101 ! 102 ldIperio = ln_Iperio ; ldJperio = ln_Jperio 103 ldNFold = .FALSE. ; cdNFtype = '-' 104 ! 105 ! ! control print 103 106 IF(lwp) THEN 104 107 WRITE(numout,*) ' ' … … 115 118 WRITE(numout,*) ' F computation nn_fcase = ', nn_fcase 116 119 WRITE(numout,*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 117 WRITE(numout,*) ' Periodicity of the basin nn_perio = ', nn_perio120 WRITE(numout,*) ' ' 118 121 ENDIF 119 ! ! Set the lateral boundary condition of the global domain120 kperio = nn_perio ! TSUNAMI configuration : closed basin121 122 ! 122 123 END SUBROUTINE usr_def_nam -
NEMO/trunk/tests/TSUNAMI/MY_SRC/usrdef_sbc.F90
r14225 r14433 3 3 !! *** MODULE usrdef_sbc *** 4 4 !! 5 !! === CANALconfiguration ===5 !! === TSUNAMI configuration === 6 6 !! 7 7 !! User defined : surface forcing of a user configuration … … 44 44 !! condition, i.e. the momentum, heat and freshwater fluxes. 45 45 !! 46 !! ** Method : all 0 fields, for CANALcase46 !! ** Method : all 0 fields, for TSUNAMI case 47 47 !! CAUTION : never mask the surface stress field ! 48 48 !! … … 57 57 IF( kt == nit000 ) THEN 58 58 ! 59 IF(lwp) WRITE(numout,*)' usr_sbc : EW_CANALcase: surface forcing'59 IF(lwp) WRITE(numout,*)' usr_sbc : TSUNAMI case: surface forcing' 60 60 IF(lwp) WRITE(numout,*)' ~~~~~~~~~~~ vtau = taum = wndm = qns = qsr = emp = sfx = 0' 61 61 ! -
NEMO/trunk/tests/VORTEX/MY_SRC/usrdef_istate.F90
r14133 r14433 123 123 END_2D 124 124 ! 125 CALL lbc_lnk _multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. )125 CALL lbc_lnk( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 126 126 ! 127 127 END SUBROUTINE usr_def_istate -
NEMO/trunk/tests/VORTEX/MY_SRC/usrdef_nam.F90
r14086 r14433 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 54 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 56 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 57 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 58 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 59 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 58 60 ! 59 61 INTEGER :: ios ! Local integer … … 96 98 zh = (kpk-1)*rn_dz 97 99 ! ! Set the lateral boundary condition of the global domain 98 kperio = 0 ! VORTEX configuration : closed basin 100 ldIperio = .FALSE. ; ldJperio = .FALSE. ! VORTEX configuration : closed domain 101 ldNFold = .FALSE. ; cdNFtype = '-' 102 ! 99 103 ! ! control print 100 104 IF(lwp) THEN … … 115 119 WRITE(numout,*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 116 120 WRITE(numout,*) ' ' 117 WRITE(numout,*) ' Lateral boundary condition of the global domain'118 WRITE(numout,*) ' VORTEX : closed basin jperio = ', kperio119 121 ENDIF 120 122 ! -
NEMO/trunk/tests/VORTEX/MY_SRC/usrdef_zgr.F90
r12740 r14433 190 190 z2d(:,:) = REAL( jpkm1 , wp ) ! flat bottom 191 191 ! 192 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero ( here jperio=0 ==>> closed)192 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (closed boundaries) 193 193 ! 194 194 k_bot(:,:) = NINT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere -
NEMO/trunk/tests/WAD/MY_SRC/usrdef_nam.F90
r13286 r14433 38 38 CONTAINS 39 39 40 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio)40 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 41 41 !!---------------------------------------------------------------------- 42 42 !! *** ROUTINE dom_nam *** … … 50 50 !! ** input : - namusr_def namelist found in namelist_cfg 51 51 !!---------------------------------------------------------------------- 52 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 53 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 54 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 55 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 52 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 53 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 54 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 55 LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity 56 LOGICAL , INTENT(out) :: ldNFold ! North pole folding 57 CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F 56 58 ! 57 59 INTEGER :: ios ! Local integer … … 75 77 kpk = INT( 10. / rn_dz ) + 1 76 78 ! ! Set the lateral boundary condition of the global domain 77 kperio = 0 ! WAD_TEST_CASES configuration : closed domain 79 ldIperio = .FALSE. ; ldJperio = .FALSE. ! WAD_TEST_CASES configuration : closed domain 80 ldNFold = .FALSE. ; cdNFtype = '-' 78 81 IF( nn_wad_test == 8 ) THEN 79 kperio = 7 ! North-South cyclic test82 ldIperio = .TRUE. ; ldJperio = .TRUE. ! WAD_TEST_CASES configuration : bi-periodic 80 83 kpi = kpi - 2 ! no closed boundary 81 84 kpj = kpj - 2 ! no closed boundary … … 95 98 WRITE(numout,*) ' jpkglo = ', kpk 96 99 WRITE(numout,*) ' ' 97 WRITE(numout,*) ' Lateral boundary condition of the global domain'98 WRITE(numout,*) ' closed jperio = ', kperio99 100 ENDIF 100 101 ! -
NEMO/trunk/tests/WAD/MY_SRC/usrdef_zgr.F90
r13295 r14433 260 260 ! 261 261 ! no ocean cavities : top ocean level is ONE, except over land 262 ! the ocean basin surrounnded by land (1 grid-point) set through lbc_lnk call as jperio=0262 ! the ocean basin surrounnded by land (1+nn_hls grid-points) set through lbc_lnk call 263 263 z2d(:,:) = 1._wp ! surface ocean is the 1st level 264 264 z2d(mi0(1):mi1(1),:) = 0._wp … … 267 267 z2d(:,mj0(jpjglo):mj1(jpjglo)) = 0._wp 268 268 269 270 271 272 273 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 269 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin, see userdef_nam.F90 274 270 k_top(:,:) = NINT( z2d(:,:) ) 275 271 !
Note: See TracChangeset
for help on using the changeset viewer.