- Timestamp:
- 2021-12-03T20:32:50+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14318_RK3_stage1
- Files:
-
- 2 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette@14244 sette 11 ^/utils/CI/sette@HEAD sette 12
-
- Property svn:externals
-
NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ICE_AGRIF/EXPREF/1_namelist_cfg
r14229 r15574 12 12 !! namtsd data: temperature & salinity (default: OFF) 13 13 !! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) 14 !! namc1d 1D configuration options ( "key_c1d")15 !! namc1d_dyndmp 1D newtonian damping applied on currents ( "key_c1d")16 !! namc1d_uvd 1D data (currents) ( "key_c1d")14 !! namc1d 1D configuration options (ln_c1d =T) 15 !! namc1d_dyndmp 1D newtonian damping applied on currents (ln_c1d =T) 16 !! namc1d_uvd 1D data (currents) (ln_c1d =T) 17 17 !!====================================================================== 18 18 ! … … 49 49 ! ! (=F) user defined configuration ==>>> see usrdef(_...) modules 50 50 cn_domcfg = "ICE_AGRIF_domcfg" ! domain configuration filename 51 / 52 !----------------------------------------------------------------------- 53 &namtile ! parameters of the tiling 54 !----------------------------------------------------------------------- 51 55 / 52 56 !!====================================================================== -
NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ICE_AGRIF/EXPREF/AGRIF_FixedGrids.in
r13286 r15574 1 1 1 2 3 3 62 33 623 3 32 34 63 34 63 3 3 3 3 3 0 -
NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ICE_AGRIF/EXPREF/make_INITICE.py
r10516 r15574 20 20 # Reading coordinates file 21 21 nccoord=netcdf(fcoord,'r') 22 nav_lon=nccoord.variables[' nav_lon']23 nav_lat=nccoord.variables[' nav_lat']22 nav_lon=nccoord.variables['x'] 23 nav_lat=nccoord.variables['y'] 24 24 time_counter=1 25 25 LON1= nav_lon.shape[1] -
NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ICE_AGRIF/EXPREF/namelist_cfg
r14229 r15574 12 12 !! namtsd data: temperature & salinity (default: OFF) 13 13 !! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) 14 !! namc1d 1D configuration options ( "key_c1d")15 !! namc1d_dyndmp 1D newtonian damping applied on currents ( "key_c1d")16 !! namc1d_uvd 1D data (currents) ( "key_c1d")14 !! namc1d 1D configuration options (ln_c1d =T) 15 !! namc1d_dyndmp 1D newtonian damping applied on currents (ln_c1d =T) 16 !! namc1d_uvd 1D data (currents) (ln_c1d =T) 17 17 !!====================================================================== 18 18 ! … … 49 49 ! ! (=F) user defined configuration ==>>> see usrdef(_...) modules 50 50 cn_domcfg = "ICE_AGRIF_domcfg" ! domain configuration filename 51 / 52 !----------------------------------------------------------------------- 53 &namtile ! parameters of the tiling 54 !----------------------------------------------------------------------- 51 55 / 52 56 !!====================================================================== -
NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ICE_AGRIF/MY_SRC/usrdef_hgr.F90
r14223 r15574 23 23 IMPLICIT NONE 24 24 PRIVATE 25 26 REAL(wp) :: roffsetx, roffsety ! Offset in km to first f-point 25 27 26 28 PUBLIC usr_def_hgr ! called by domhgr.F90 … … 50 52 !! without Coriolis force (f=0) 51 53 !! 52 !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in degrees)54 !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in kms) 53 55 !! - define coriolis parameter at f-point if the domain in not on the sphere (on beta-plane) 54 56 !! - define i- & j-scale factors at t-, u-, v- and f-points (in meters) … … 65 67 ! 66 68 INTEGER :: ji, jj ! dummy loop indices 67 REAL(wp) :: z phi0, zlam0, zbeta, zf069 REAL(wp) :: zbeta, zf0 68 70 REAL(wp) :: zti, ztj ! local scalars 69 71 !!------------------------------------------------------------------------------- … … 74 76 IF(lwp) WRITE(numout,*) ' f-plane with irregular grid-spacing (+- 10%)' 75 77 IF(lwp) WRITE(numout,*) ' the max is given by rn_dx and rn_dy' 78 ! 79 ! 80 ! Position coordinates (in kilometers) 81 ! ========== 82 ! Offset is given at first f-point, i.e. at (i,j) = (nn_hls+1, nn_hls+1) 83 ! Here we assume the grid is centred around a T-point at the middle of 84 ! of the domain (hence domain size is odd) 85 roffsetx = (-REAL(Ni0glo-1, wp) + 1._wp) * 0.5 * 1.e-3 * rn_dx 86 roffsety = (-REAL(Nj0glo-1, wp) + 1._wp) * 0.5 * 1.e-3 * rn_dy 87 #if defined key_agrif 88 IF( .NOT.Agrif_Root() ) THEN 89 ! deduce offset from parent: 90 roffsetx = Agrif_Parent(roffsetx) & 91 & + (-(nbghostcells_x_w - 1) + (Agrif_Parent(nbghostcells_x_w) & 92 & + Agrif_Ix()-2)*Agrif_Rhox()) * 1.e-3 * rn_dx 93 roffsety = Agrif_Parent(roffsety) & 94 & + (-(nbghostcells_y_s - 1) + (Agrif_Parent(nbghostcells_y_s) & 95 & + Agrif_Iy()-2)*Agrif_Rhoy()) * 1.e-3 * rn_dy 96 ENDIF 97 #endif 98 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 99 zti = REAL( mig0(ji)-1, wp ) ! start at i=0 in the global grid without halos 100 ztj = REAL( mjg0(jj)-1, wp ) ! start at j=0 in the global grid without halos 76 101 77 ! ========== 78 #if defined key_agrif 79 IF( Agrif_Root() ) THEN 80 #endif 81 zlam0 = -REAL(Ni0glo, wp) * 0.5 * 1.e-3 * rn_dx 82 zphi0 = -REAL(Nj0glo, wp) * 0.5 * 1.e-3 * rn_dy 83 #if defined key_agrif 84 ELSE 85 ! ! let lower left longitude and latitude from parent 86 !clem zlam0 = Agrif_Parent(zlam0) + (Agrif_ix())*Agrif_Parent(rn_dx) * 1.e-5 87 !clem zphi0 = Agrif_Parent(zphi0) + (Agrif_iy())*Agrif_Parent(rn_dy) * 1.e-5 88 zlam0 = ( 0.5_wp - REAL(Ni0glo, wp) * 0.5 ) * 1.e-3 * Agrif_irhox() * rn_dx & 89 & + ( Agrif_Ix() + nbghostcells - 1 ) * Agrif_irhox() * rn_dx * 1.e-3 - ( 0.5_wp + nbghostcells ) * rn_dx * 1.e-3 90 zphi0 = ( 0.5_wp - REAL(Nj0glo, wp) * 0.5 ) * 1.e-3 * Agrif_irhoy() * rn_dy & 91 & + ( Agrif_Iy() + nbghostcells - 1 ) * Agrif_irhoy() * rn_dy * 1.e-3 - ( 0.5_wp + nbghostcells ) * rn_dy * 1.e-3 92 ENDIF 93 #endif 102 plamt(ji,jj) = roffsetx + rn_dx * 1.e-3 * ( zti - 0.5_wp ) 103 plamu(ji,jj) = roffsetx + rn_dx * 1.e-3 * zti 104 plamv(ji,jj) = plamt(ji,jj) 105 plamf(ji,jj) = plamu(ji,jj) 94 106 95 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 96 zti = REAL( mig0(ji), wp ) - 0.5_wp ! start at i=0.5 in the global grid without halos 97 ztj = REAL( mjg0(jj), wp ) - 0.5_wp ! start at j=0.5 in the global grid without halos 98 99 plamt(ji,jj) = zlam0 + rn_dx * 1.e-3 * zti 100 plamu(ji,jj) = zlam0 + rn_dx * 1.e-3 * ( zti + 0.5_wp ) 101 plamv(ji,jj) = plamt(ji,jj) 102 plamf(ji,jj) = plamu(ji,jj) 103 104 pphit(ji,jj) = zphi0 + rn_dy * 1.e-3 * ztj 105 pphiv(ji,jj) = zphi0 + rn_dy * 1.e-3 * ( ztj + 0.5_wp ) 106 pphiu(ji,jj) = pphit(ji,jj) 107 pphif(ji,jj) = pphiv(ji,jj) 107 pphit(ji,jj) = roffsety + rn_dy * 1.e-3 * ( ztj - 0.5_wp ) 108 pphiv(ji,jj) = roffsety + rn_dy * 1.e-3 * ztj 109 pphiu(ji,jj) = pphit(ji,jj) 110 pphif(ji,jj) = pphiv(ji,jj) 108 111 END_2D 109 110 111 112 ! 113 ! Horizontal scale factors (in meters) 114 ! ====== 112 115 !! ==> EITHER 1) variable scale factors 113 116 !! clem: This can be used with a 1proc simulation but I think it breaks repro when >1procs are used -
NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90
r14223 r15574 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 … … 86 88 kpj = NINT( 300.e3 / rn_dy ) - 3 87 89 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side 88 kpi = nbcellsx + 2 * ( nbghostcells + 1 ) 89 kpj = nbcellsy + 2 * ( nbghostcells + 1 ) 90 !!$ kpi = nbcellsx + nbghostcells_x + nbghostcells_x + 2 90 kpi = nbcellsx + 2 * nbghostcells 91 kpj = nbcellsy + 2 * nbghostcells 92 !! JC: number of ghosts unknown at this tage 93 !!$ kpi = nbcellsx + nbghostcells_x_w + nbghostcells_x_e + 2 91 94 !!$ kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n + 2 92 95 ENDIF … … 98 101 zly = kpj*rn_dy*1.e-3 99 102 ! 100 IF( Agrif_Root() ) THEN ; kperio = 7! ICE_AGRIF configuration : bi-periodic basin101 ELSE ; kperio = 0! closed periodicity for the zoom103 IF( Agrif_Root() ) THEN ; ldIperio = .TRUE. ; ldJperio = .TRUE. ! ICE_AGRIF configuration : bi-periodic basin 104 ELSE ; ldIperio = .FALSE. ; ldJperio = .FALSE. ! closed periodicity for the zoom 102 105 ENDIF 106 ldNFold = .FALSE. ; cdNFtype = '-' 107 ! 103 108 ! ! control print 104 109 IF(lwp) THEN … … 117 122 WRITE(numout,*) ' Coriolis:', ln_corio 118 123 WRITE(numout,*) ' ' 119 WRITE(numout,*) ' Lateral boundary condition of the global domain'120 WRITE(numout,*) ' ICE_AGRIF : bi-periodic basin jperio = ', kperio121 124 ENDIF 122 125 !
Note: See TracChangeset
for help on using the changeset viewer.