Changeset 10905
- Timestamp:
- 2019-04-29T13:50:19+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/nemogcm.F90
r10883 r10905 405 405 406 406 ! Initialisation of temporary pointers (to be deleted after development finished) 407 CALL update_pointers( )407 CALL update_pointers( Nbb, Nnn, Naa ) 408 408 ! !-------------------------------! 409 409 ! ! NEMO general initialization ! … … 473 473 #if defined key_top 474 474 ! ! Passive tracers 475 CALL trc_init 475 CALL trc_init( Nbb, Nnn, Naa ) 476 476 #endif 477 477 IF( l_ldfslp ) CALL ldf_slp_init ! slope of lateral mixing -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/step.F90
r10884 r10905 232 232 ! Passive Tracer Model 233 233 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 234 CALL trc_stp ( kstp ) ! time-stepping234 CALL trc_stp ( kstp, Nbb, Nnn, Nrhs, Naa ) ! time-stepping 235 235 #endif 236 236 … … 335 335 END SUBROUTINE stp 336 336 337 SUBROUTINE update_pointers 337 SUBROUTINE update_pointers( Kbb, Kmm, Kaa ) 338 338 !!---------------------------------------------------------------------- 339 339 !! *** ROUTINE update_pointers *** … … 344 344 !! ** Method : 345 345 !!---------------------------------------------------------------------- 346 347 ub => uu(:,:,:,Nbb); un => uu(:,:,:,Nnn); ua => uu(:,:,:,Naa) 348 vb => vv(:,:,:,Nbb); vn => vv(:,:,:,Nnn); va => vv(:,:,:,Naa) 346 INTEGER, INTENT( in ) :: Kbb, Kmm, Kaa ! time level indices 347 348 ub => uu(:,:,:,Kbb); un => uu(:,:,:,Kmm); ua => uu(:,:,:,Kaa) 349 vb => vv(:,:,:,Kbb); vn => vv(:,:,:,Kmm); va => vv(:,:,:,Kaa) 349 350 wn => ww(:,:,:) 350 351 hdivn => hdiv(:,:,:) 351 352 352 tsb => ts(:,:,:,:, Nbb); tsn => ts(:,:,:,:,Nnn); tsa => ts(:,:,:,:,Naa)353 354 e3t_b => e3t(:,:,:, Nbb); e3t_n => e3t(:,:,:,Nnn); e3t_a => e3t(:,:,:,Naa)355 e3u_b => e3u(:,:,:, Nbb); e3u_n => e3u(:,:,:,Nnn); e3u_a => e3u(:,:,:,Naa)356 e3v_b => e3v(:,:,:, Nbb); e3v_n => e3v(:,:,:,Nnn); e3v_a => e3v(:,:,:,Naa)353 tsb => ts(:,:,:,:,Kbb); tsn => ts(:,:,:,:,Kmm); tsa => ts(:,:,:,:,Kaa) 354 355 e3t_b => e3t(:,:,:,Kbb); e3t_n => e3t(:,:,:,Kmm); e3t_a => e3t(:,:,:,Kaa) 356 e3u_b => e3u(:,:,:,Kbb); e3u_n => e3u(:,:,:,Kmm); e3u_a => e3u(:,:,:,Kaa) 357 e3v_b => e3v(:,:,:,Kbb); e3v_n => e3v(:,:,:,Kmm); e3v_a => e3v(:,:,:,Kaa) 357 358 358 359 e3f_n => e3f(:,:,:) 359 360 360 e3w_b => e3w (:,:,:, Nbb); e3w_n => e3w (:,:,:,Nnn)361 e3uw_b => e3uw(:,:,:, Nbb); e3uw_n => e3uw(:,:,:,Nnn)362 e3vw_b => e3vw(:,:,:, Nbb); e3vw_n => e3vw(:,:,:,Nnn)363 364 gdept_b => gdept(:,:,:, Nbb); gdept_n => gdept(:,:,:,Nnn)365 gdepw_b => gdepw(:,:,:, Nbb); gdepw_n => gdepw(:,:,:,Nnn)361 e3w_b => e3w (:,:,:,Kbb); e3w_n => e3w (:,:,:,Kmm) 362 e3uw_b => e3uw(:,:,:,Kbb); e3uw_n => e3uw(:,:,:,Kmm) 363 e3vw_b => e3vw(:,:,:,Kbb); e3vw_n => e3vw(:,:,:,Kmm) 364 365 gdept_b => gdept(:,:,:,Kbb); gdept_n => gdept(:,:,:,Kmm) 366 gdepw_b => gdepw(:,:,:,Kbb); gdepw_n => gdepw(:,:,:,Kmm) 366 367 gde3w_n => gde3w(:,:,:) 367 368 -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OFF/nemogcm.F90
r10874 r10905 59 59 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 60 60 USE lbcnfd , ONLY : isendto, nsndto, nfsloop, nfeloop ! Setup of north fold exchanges 61 USE step, ONLY : update_pointers 61 62 62 63 IMPLICIT NONE … … 66 67 67 68 CHARACTER (len=64) :: cform_aaa="( /, 'AAAAAAAA', / ) " ! flag for output listing 69 70 !!---------------------------------------------------------------------- 71 !! time level indices 72 !!---------------------------------------------------------------------- 73 INTEGER :: Nbb, Nnn, Naa, Nrhs 68 74 69 75 !!---------------------------------------------------------------------- … … 116 122 IF( .NOT.ln_linssh ) CALL dta_dyn_swp( istp ) ! swap of sea surface height and vertical scale factors 117 123 #endif 118 CALL trc_stp ( istp ) ! time-stepping124 CALL trc_stp ( istp, Nbb, Nnn, Nrhs, Naa ) ! time-stepping 119 125 CALL stp_ctl ( istp, indic ) ! Time loop: control and print 120 126 istp = istp + 1 … … 287 293 CALL nemo_alloc() 288 294 295 ! Initialise time level indices 296 Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 297 298 ! Initialisation of temporary pointers (to be deleted after development finished) 299 CALL update_pointers( Nbb, Nnn, Naa ) 300 289 301 ! !-------------------------------! 290 302 ! ! NEMO general initialization ! … … 324 336 #endif 325 337 326 CALL trc_init ! Passive tracers initialization338 CALL trc_init( Nbb, Nnn, Naa ) ! Passive tracers initialization 327 339 CALL dia_ptr_init ! Poleward TRansports initialization 328 340 -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/trcini.F90
r10880 r10905 40 40 CONTAINS 41 41 42 SUBROUTINE trc_init 42 SUBROUTINE trc_init( Kbb, Kmm, Kaa ) 43 43 !!--------------------------------------------------------------------- 44 44 !! *** ROUTINE trc_init *** … … 52 52 !! or read data or analytical formulation 53 53 !!--------------------------------------------------------------------- 54 !! Time level indices only required for call to update_pointers_trc 55 !! To be removed after IMMERSE development finished. 56 INTEGER, INTENT( in ) :: Kbb, Kmm, Kaa ! time level indices 54 57 ! 55 58 IF( ln_timing ) CALL timing_start('trc_init') … … 63 66 CALL top_alloc() ! allocate TOP arrays 64 67 65 ! Initialise time level indices66 Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa67 68 68 ! Initialisation of temporary pointers (to be deleted after development finished) 69 CALL update_pointers_trc( )69 CALL update_pointers_trc( Kbb, Kmm, Kaa ) 70 70 ! 71 71 IF(.NOT.ln_trcdta ) ln_trc_ini(:) = .FALSE. -
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/trcstp.F90
r10880 r10905 32 32 PUBLIC update_pointers_trc ! called in initialisation 33 33 34 !!----------------------------------------------------------------------35 !! time level indices36 !!----------------------------------------------------------------------37 INTEGER, PUBLIC :: Nbb, Nnn, Naa, Nrhs !! used by trc_init38 39 34 LOGICAL :: llnew ! ??? 40 35 REAL(wp) :: rdt_sampl ! ??? … … 50 45 CONTAINS 51 46 52 SUBROUTINE trc_stp( kt )47 SUBROUTINE trc_stp( kt, Kbb, Kmm, Krhs, Kaa ) 53 48 !!------------------------------------------------------------------- 54 49 !! *** ROUTINE trc_stp *** … … 59 54 !! Update the passive tracers 60 55 !!------------------------------------------------------------------- 61 INTEGER, INTENT( in ) :: kt ! ocean time-step index 56 INTEGER, INTENT( in ) :: kt ! ocean time-step index 57 INTEGER, INTENT( in ) :: Kbb, Kmm, Krhs, Kaa ! time level indices 62 58 ! 63 59 INTEGER :: jk, jn ! dummy loop indices … … 106 102 CALL trc_wri ( kt ) ! output of passive tracers with iom I/O manager 107 103 CALL trc_sms ( kt ) ! tracers: sinks and sources 108 CALL trc_trp ( kt, Nbb, Nnn, Nrhs, Naa ) ! transport of passive tracers104 CALL trc_trp ( kt, Kbb, Kmm, Krhs, Kaa ) ! transport of passive tracers 109 105 IF( kt == nittrc000 ) THEN 110 106 CALL iom_close( numrtr ) ! close input tracer restart file … … 131 127 END SUBROUTINE trc_stp 132 128 133 SUBROUTINE update_pointers_trc 129 SUBROUTINE update_pointers_trc( Kbb, Kmm, Kaa ) 134 130 !!---------------------------------------------------------------------- 135 131 !! *** ROUTINE update_pointers_trc *** … … 140 136 !! ** Method : 141 137 !!---------------------------------------------------------------------- 142 143 trb => tr(:,:,:,:,Nbb); trn => tr(:,:,:,:,Nnn); tra => tr(:,:,:,:,Naa) 138 INTEGER, INTENT( in ) :: Kbb, Kmm, Kaa ! time level indices 139 140 trb => tr(:,:,:,:,Kbb); trn => tr(:,:,:,:,Kmm); tra => tr(:,:,:,:,Kaa) 144 141 145 142 END SUBROUTINE update_pointers_trc
Note: See TracChangeset
for help on using the changeset viewer.