Changeset 10876
- Timestamp:
- 2019-04-16T10:02:58+02:00 (6 years ago)
- Location:
- NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/DOM/dom_oce.F90
r10874 r10876 38 38 LOGICAL , PUBLIC :: ln_iscpl !: coupling with ice sheet 39 39 LOGICAL , PUBLIC :: ln_crs !: Apply grid coarsening to dynamical model output or online passive tracers 40 41 !!---------------------------------------------------------------------- 42 !! time level indices 43 !!---------------------------------------------------------------------- 44 INTEGER, PUBLIC :: Nbb, Nnn, Naa, Nrhs 40 45 41 46 !! Free surface parameters … … 129 134 LOGICAL, PUBLIC :: ln_sco !: s-coordinate or hybrid z-s coordinate 130 135 LOGICAL, PUBLIC :: ln_isfcav !: presence of ISF 131 ! ! ref. ! before ! now ! after ! 132 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3t_0 , e3t_b , e3t_n , e3t_a !: t- vert. scale factor [m] 133 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3u_0 , e3u_b , e3u_n , e3u_a !: u- vert. scale factor [m] 134 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3v_0 , e3v_b , e3v_n , e3v_a !: v- vert. scale factor [m] 135 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3f_0 , e3f_n !: f- vert. scale factor [m] 136 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3w_0 , e3w_b , e3w_n !: w- vert. scale factor [m] 137 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3uw_0 , e3uw_b , e3uw_n !: uw-vert. scale factor [m] 138 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3vw_0 , e3vw_b , e3vw_n !: vw-vert. scale factor [m] 139 140 ! ! ref. ! before ! now ! 141 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdept_0 , gdept_b , gdept_n !: t- depth [m] 142 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdepw_0 , gdepw_b , gdepw_n !: w- depth [m] 143 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gde3w_0 , gde3w_n !: w- depth (sum of e3w) [m] 136 ! ! reference scale factors 137 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3t_0 !: t- vert. scale factor [m] 138 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3u_0 !: u- vert. scale factor [m] 139 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3v_0 !: v- vert. scale factor [m] 140 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3f_0 !: f- vert. scale factor [m] 141 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3w_0 !: w- vert. scale factor [m] 142 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3uw_0 !: uw-vert. scale factor [m] 143 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3vw_0 !: vw-vert. scale factor [m] 144 ! ! time-dependent scale factors 145 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:,:) :: e3t, e3u, e3v, e3w, e3uw, e3vw !: vert. scale factor [m] 146 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:) :: e3f !: F-point vert. scale factor [m] 147 148 ! ! reference depths of cells 149 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdept_0 !: t- depth [m] 150 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gdepw_0 !: w- depth [m] 151 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gde3w_0 !: w- depth (sum of e3w) [m] 152 ! ! time-dependent depths of cells 153 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:,:) :: gdept, gdepw 154 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:,:) :: gde3w 144 155 145 156 ! ! ref. ! before ! now ! after ! … … 149 160 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: r1_hu_b , r1_hu_n , r1_hu_a !: inverse of u-depth [1/m] 150 161 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: r1_hv_b , r1_hv_n , r1_hv_a !: inverse of v-depth [1/m] 162 163 !! TEMPORARY POINTERS FOR DEVELOPMENT ONLY 164 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3t_b , e3t_n , e3t_a !: t- vert. scale factor [m] 165 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3u_b , e3u_n , e3u_a !: u- vert. scale factor [m] 166 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3v_b , e3v_n , e3v_a !: v- vert. scale factor [m] 167 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3f_n !: f- vert. scale factor [m] 168 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3w_b , e3w_n !: w- vert. scale factor [m] 169 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3uw_b , e3uw_n !: uw-vert. scale factor [m] 170 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: e3vw_b , e3vw_n !: vw-vert. scale factor [m] 171 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: gdept_b , gdept_n !: t- depth [m] 172 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: gdepw_b , gdepw_n !: w- depth [m] 173 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: gde3w_n !: w- depth (sum of e3w) [m] 174 !! TEMPORARY POINTERS FOR DEVELOPMENT ONLY 151 175 152 176 INTEGER, PUBLIC :: nla10 !: deepest W level Above ~10m (nlb10 - 1) … … 256 280 & ff_f (jpi,jpj) , ff_t (jpi,jpj) , STAT=ierr(3) ) 257 281 ! 258 ALLOCATE( gdept_0(jpi,jpj,jpk) , gdepw_0(jpi,jpj,jpk) , gde3w_0(jpi,jpj,jpk) , & 259 & gdept_b(jpi,jpj,jpk) , gdepw_b(jpi,jpj,jpk) , & 260 & gdept_n(jpi,jpj,jpk) , gdepw_n(jpi,jpj,jpk) , gde3w_n(jpi,jpj,jpk) , STAT=ierr(4) ) 261 ! 262 ALLOCATE( e3t_0(jpi,jpj,jpk) , e3u_0(jpi,jpj,jpk) , e3v_0(jpi,jpj,jpk) , e3f_0(jpi,jpj,jpk) , e3w_0(jpi,jpj,jpk) , & 263 & e3t_b(jpi,jpj,jpk) , e3u_b(jpi,jpj,jpk) , e3v_b(jpi,jpj,jpk) , e3w_b(jpi,jpj,jpk) , & 264 & e3t_n(jpi,jpj,jpk) , e3u_n(jpi,jpj,jpk) , e3v_n(jpi,jpj,jpk) , e3f_n(jpi,jpj,jpk) , e3w_n(jpi,jpj,jpk) , & 265 & e3t_a(jpi,jpj,jpk) , e3u_a(jpi,jpj,jpk) , e3v_a(jpi,jpj,jpk) , & 266 ! ! 267 & e3uw_0(jpi,jpj,jpk) , e3vw_0(jpi,jpj,jpk) , & 268 & e3uw_b(jpi,jpj,jpk) , e3vw_b(jpi,jpj,jpk) , & 269 & e3uw_n(jpi,jpj,jpk) , e3vw_n(jpi,jpj,jpk) , STAT=ierr(5) ) 282 ALLOCATE( gdept_0(jpi,jpj,jpk) , gdepw_0(jpi,jpj,jpk) , gde3w_0(jpi,jpj,jpk) , & 283 & gdept (jpi,jpj,jpk,jpt) , gdepw (jpi,jpj,jpk,jpt) , gde3w (jpi,jpj,jpk) , STAT=ierr(4) ) 284 ! 285 ALLOCATE( e3t_0(jpi,jpj,jpk) , e3u_0(jpi,jpj,jpk) , e3v_0(jpi,jpj,jpk) , e3f_0(jpi,jpj,jpk) , e3w_0(jpi,jpj,jpk) , & 286 & e3t (jpi,jpj,jpk,jpt) , e3u (jpi,jpj,jpk,jpt) , e3v (jpi,jpj,jpk,jpt) , e3f (jpi,jpj,jpk) , e3w (jpi,jpj,jpk,jpt) , & 287 & e3uw_0(jpi,jpj,jpk) , e3vw_0(jpi,jpj,jpk) , & 288 & e3uw (jpi,jpj,jpk,jpt) , e3vw (jpi,jpj,jpk,jpt) , STAT=ierr(5) ) 270 289 ! 271 290 ALLOCATE( ht_0(jpi,jpj) , hu_0(jpi,jpj) , hv_0(jpi,jpj) , & -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/nemogcm.F90
r10874 r10876 401 401 CALL nemo_alloc() 402 402 403 ! Initialise time level indices 404 Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 405 406 ! Initialisation of temporary pointers (to be deleted after development finished) 407 CALL update_pointers() 403 408 ! !-------------------------------! 404 409 ! ! NEMO general initialization ! -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/oce.F90
r10874 r10876 17 17 PUBLIC oce_alloc ! routine called by nemo_init in nemogcm.F90 18 18 19 !! dynamics and tracer fields ! before ! now ! after ! the after trends becomes the fields 20 !! -------------------------- ! fields ! fields ! trends ! only after tra_zdf and dyn_spg 21 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ub , un , ua !: i-horizontal velocity [m/s] 22 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: vb , vn , va !: j-horizontal velocity [m/s] 23 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wn !: vertical velocity [m/s] 24 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wi !: vertical vel. (adaptive-implicit) [m/s] 25 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: hdivn !: horizontal divergence [s-1] 26 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: tsb , tsn , tsa !: 4D T-S fields [Celsius,psu] 19 !! dynamics and tracer fields NOTE THAT "TARGET" ATTRIBUTE CAN BE REMOVED AFTER IMMERSE DEVELOPMENT FINISHED 20 !! -------------------------- 21 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:), TARGET :: uu , vv !: horizontal velocities [m/s] 22 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:), TARGET :: ww !: vertical velocity [m/s] 23 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wi !: vertical vel. (adaptive-implicit) [m/s] 24 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:), TARGET :: hdiv !: horizontal divergence [s-1] 25 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:,:),TARGET :: ts !: 4D T-S fields [Celsius,psu] 27 26 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: rab_b, rab_n !: thermal/haline expansion coef. [Celsius-1,psu-1] 28 27 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: rn2b , rn2 !: brunt-vaisala frequency**2 [s-2] … … 69 68 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fraqsr_1lev !: fraction of solar net radiation absorbed in the first ocean level [-] 70 69 70 !! TEMPORARY POINTERS FOR DEVELOPMENT ONLY 71 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: ub , un , ua !: i-horizontal velocity [m/s] 72 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: vb , vn , va !: j-horizontal velocity [m/s] 73 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: wn !: k-vertical velocity [m/s] 74 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: hdivn !: horizontal divergence [s-1] 75 REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:,:) :: tsb , tsn , tsa !: 4D T-S fields [Celsius,psu] 76 !! TEMPORARY POINTERS FOR DEVELOPMENT ONLY 77 71 78 !!---------------------------------------------------------------------- 72 79 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 84 91 ! 85 92 ierr(:) = 0 86 ALLOCATE( ub (jpi,jpj,jpk) , un (jpi,jpj,jpk) , ua(jpi,jpj,jpk) , & 87 & vb (jpi,jpj,jpk) , vn (jpi,jpj,jpk) , va(jpi,jpj,jpk) , & 88 & wn (jpi,jpj,jpk) , hdivn(jpi,jpj,jpk) , & 89 & tsb (jpi,jpj,jpk,jpts) , tsn (jpi,jpj,jpk,jpts) , tsa(jpi,jpj,jpk,jpts) , & 93 ALLOCATE( uu (jpi,jpj,jpk,jpt) , vv (jpi,jpj,jpk,jpt) , & 94 & ww (jpi,jpj,jpk) , hdiv(jpi,jpj,jpk) , & 95 & ts (jpi,jpj,jpk,jpts,jpt), & 90 96 & rab_b(jpi,jpj,jpk,jpts) , rab_n(jpi,jpj,jpk,jpts) , & 91 97 & rn2b (jpi,jpj,jpk) , rn2 (jpi,jpj,jpk) , & -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/par_oce.F90
r10874 r10876 35 35 CHARACTER(lc) :: cn_cfg !: name of the configuration 36 36 INTEGER :: nn_cfg !: resolution of the configuration 37 38 ! time dimension 39 INTEGER, PUBLIC, PARAMETER :: jpt = 3 !: time dimension 37 40 38 41 ! global domain size !!! * total computational domain * -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/step.F90
r10874 r10876 44 44 45 45 PUBLIC stp ! called by nemogcm.F90 46 PUBLIC update_pointers ! called by nemo_init 46 47 47 48 !!---------------------------------------------------------------------- … … 329 330 END SUBROUTINE stp 330 331 332 SUBROUTINE update_pointers 333 !!---------------------------------------------------------------------- 334 !! *** ROUTINE update_pointers *** 335 !! 336 !! ** Purpose : Associate temporary pointer arrays. 337 !! For IMMERSE development phase only - to be deleted 338 !! 339 !! ** Method : 340 !!---------------------------------------------------------------------- 341 342 ub => uu(:,:,:,Nbb); un => uu(:,:,:,Nnn); ua => uu(:,:,:,Naa) 343 vb => vv(:,:,:,Nbb); vn => vv(:,:,:,Nnn); va => vv(:,:,:,Naa) 344 wn => ww(:,:,:) 345 hdivn => hdiv(:,:,:) 346 347 tsb => ts(:,:,:,:,Nbb); tsn => ts(:,:,:,:,Nnn); tsa => ts(:,:,:,:,Naa) 348 349 e3t_b => e3t(:,:,:,Nbb); e3t_n => e3t(:,:,:,Nnn); e3t_a => e3t(:,:,:,Naa) 350 e3u_b => e3u(:,:,:,Nbb); e3u_n => e3u(:,:,:,Nnn); e3u_a => e3u(:,:,:,Naa) 351 e3v_b => e3v(:,:,:,Nbb); e3v_n => e3v(:,:,:,Nnn); e3v_a => e3v(:,:,:,Naa) 352 353 e3f_n => e3f(:,:,:) 354 355 e3w_b => e3w (:,:,:,Nbb); e3w_n => e3w (:,:,:,Nnn) 356 e3uw_b => e3uw(:,:,:,Nbb); e3uw_n => e3uw(:,:,:,Nnn) 357 e3vw_b => e3vw(:,:,:,Nbb); e3vw_n => e3vw(:,:,:,Nnn) 358 359 gdept_b => gdept(:,:,:,Nbb); gdept_n => gdept(:,:,:,Nnn) 360 gdepw_b => gdepw(:,:,:,Nbb); gdepw_n => gdepw(:,:,:,Nnn) 361 gde3w_n => gde3w(:,:,:) 362 363 END SUBROUTINE update_pointers 364 331 365 !!====================================================================== 332 366 END MODULE step
Note: See TracChangeset
for help on using the changeset viewer.