- Timestamp:
- 2017-04-04T12:21:15+02:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r7865 r7869 546 546 ! Partial steps: before Horizontal DErivative 547 547 IF( ln_zps .AND. .NOT. ln_isfcav) & 548 & CALL zps_hde ( kt, jpts, pts, & 549 & fse3w_n, gdept_n, & 550 & gtsu, gtsv, & ! Partial steps: before horizontal gradient 548 & CALL zps_hde ( kt, jpts, pts, gtsu, gtsv, & ! Partial steps: before horizontal gradient 551 549 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 552 550 IF( ln_zps .AND. ln_isfcav) & 553 & CALL zps_hde_isf( kt, jpts, pts, & 554 & fse3w_n, gdept_n, gdep3w_n, & 555 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 551 & CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv, & ! Partial steps for top cell (ISF) 556 552 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 557 553 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the first ocean level -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r7865 r7869 646 646 !! ** Action : 647 647 !!---------------------------------------------------------------------- 648 USE dom_oce, ONLY: e3w_n649 650 648 INTEGER, INTENT(IN) :: kt ! Current time step 651 649 ! … … 749 747 750 748 IF( ln_zps .AND. .NOT. lk_c1d .AND. .NOT. ln_isfcav) & 751 & CALL zps_hde ( kt, jpts, tsb, e3w_n, gdept_n, & 752 & gtsu, gtsv, & ! Partial steps: before horizontal gradient 749 & CALL zps_hde ( kt, jpts, tsb, gtsu, gtsv, & ! Partial steps: before horizontal gradient 753 750 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 754 751 IF( ln_zps .AND. .NOT. lk_c1d .AND. ln_isfcav) & 755 & CALL zps_hde_isf( nit000, jpts, tsb, & 756 & e3w_n, gdept_n, gdep3w_n, & 757 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 752 & CALL zps_hde_isf( nit000, jpts, tsb, gtsu, gtsv, & ! Partial steps for top cell (ISF) 758 753 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 759 754 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the last ocean level -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90
r7865 r7869 130 130 #if ! defined key_c1d 131 131 IF( ln_zps .AND. .NOT. ln_isfcav) & 132 & CALL zps_hde ( nit000, jpts, tsb, & 133 & e3w_n, gdept_n, gtsu, gtsv, & ! Partial steps: before horizontal gradient 132 & CALL zps_hde ( nit000, jpts, tsb, gtsu, gtsv, & ! Partial steps: before horizontal gradient 134 133 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 135 134 IF( ln_zps .AND. ln_isfcav) & 136 & CALL zps_hde_isf( nit000, jpts, tsb, & 137 & e3w_n, gdept_n, gdep3w_n, & 138 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 135 & CALL zps_hde_isf( nit000, jpts, tsb, gtsu, gtsv, & ! Partial steps for top cell (ISF) 139 136 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 140 137 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the last ocean level -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/OPA_SRC/TRA/zpshde.F90
r7865 r7869 32 32 33 33 !! * Substitutions 34 # include "domzgr_substitute.h90" 34 35 # include "vectopt_loop_substitute.h90" 35 36 !!---------------------------------------------------------------------- … … 40 41 CONTAINS 41 42 42 SUBROUTINE zps_hde( kt, kjpt, pta, fse3w, fsdept,pgtu, pgtv, &43 SUBROUTINE zps_hde( kt, kjpt, pta, pgtu, pgtv, & 43 44 & prd, pgru, pgrv ) 44 45 !!---------------------------------------------------------------------- … … 88 89 INTEGER , INTENT(in ) :: kjpt ! number of tracers 89 90 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: pta ! 4D tracers fields 90 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: fse3w ! Vertical scale factor on w pts91 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: fsdept ! Depth now at t pts92 91 REAL(wp), DIMENSION(jpi,jpj, kjpt), INTENT( out) :: pgtu, pgtv ! hor. grad. of ptra at u- & v-pts 93 92 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ), OPTIONAL :: prd ! 3D density anomaly fields … … 197 196 END SUBROUTINE zps_hde 198 197 ! 199 SUBROUTINE zps_hde_isf( kt, kjpt, pta, fse3w, fsdept, fsde3w, pgtu, pgtv,&198 SUBROUTINE zps_hde_isf( kt, kjpt, pta, pgtu, pgtv, & 200 199 & prd, pgru, pgrv, pmru, pmrv, pgzu, pgzv, pge3ru, pge3rv, & 201 200 & pgtui, pgtvi, pgrui, pgrvi, pmrui, pmrvi, pgzui, pgzvi, pge3rui, pge3rvi ) … … 249 248 INTEGER , INTENT(in ) :: kjpt ! number of tracers 250 249 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: pta ! 4D tracers fields 251 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: fse3w ! Vertical scale factor on w pts252 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: fsdept ! Depth now at t pts253 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: fsde3w ! Now depth of t pts (sum of e3w) (m)254 250 REAL(wp), DIMENSION(jpi,jpj, kjpt), INTENT( out) :: pgtu, pgtv ! hor. grad. of ptra at u- & v-pts 255 251 REAL(wp), DIMENSION(jpi,jpj, kjpt), INTENT( out) :: pgtui, pgtvi ! hor. grad. of stra at u- & v-pts (ISF) -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/OPA_SRC/step.F90
r7865 r7869 31 31 !! stp : OPA system time-stepping 32 32 !!---------------------------------------------------------------------- 33 USE dom_oce, ONLY: e3w_n, gdep3w_n, gdept_n34 33 USE step_oce ! time stepping definition modules 35 34 USE iom … … 156 155 CALL eos( tsb, rhd, gdept_0(:,:,:) ) ! before in situ density 157 156 IF( ln_zps .AND. .NOT. ln_isfcav) & 158 & CALL zps_hde ( kstp, jpts, tsb, & 159 & e3w_n, gdept_n, gtsu, gtsv, & ! Partial steps: before horizontal gradient 157 & CALL zps_hde ( kstp, jpts, tsb, gtsu, gtsv, & ! Partial steps: before horizontal gradient 160 158 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 161 159 IF( ln_zps .AND. ln_isfcav) & 162 & CALL zps_hde_isf( kstp, jpts, tsb, & 163 & e3w_n, gdept_n, gdep3w_n, & 164 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 160 & CALL zps_hde_isf( kstp, jpts, tsb, gtsu, gtsv, & ! Partial steps for top cell (ISF) 165 161 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 166 162 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the first ocean level … … 195 191 CALL eos ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation 196 192 IF( ln_zps .AND. .NOT. ln_isfcav) & 197 & CALL zps_hde ( kstp, jpts, tsn, & 198 & e3w_n, gdept_n, gtsu, gtsv, & ! Partial steps: before horizontal gradient 193 & CALL zps_hde ( kstp, jpts, tsn, gtsu, gtsv, & ! Partial steps: before horizontal gradient 199 194 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 200 195 IF( ln_zps .AND. ln_isfcav) & 201 & CALL zps_hde_isf( kstp, jpts, tsn, & 202 & e3w_n, gdept_n, gdep3w_n, & 203 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 196 & CALL zps_hde_isf( kstp, jpts, tsn, gtsu, gtsv, & ! Partial steps for top cell (ISF) 204 197 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 205 198 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the last ocean level … … 280 273 CALL eos ( tsa, rhd, rhop, fsdept_n(:,:,:) ) ! Time-filtered in situ density for hpg computation 281 274 IF( ln_zps .AND. .NOT. ln_isfcav) & 282 & CALL zps_hde ( kstp, jpts, tsa, & 283 & e3w_n, gdept_n, gtsu, gtsv, & ! Partial steps: before horizontal gradient 275 & CALL zps_hde ( kstp, jpts, tsa, gtsu, gtsv, & ! Partial steps: before horizontal gradient 284 276 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 285 277 IF( ln_zps .AND. ln_isfcav) & 286 & CALL zps_hde_isf( kstp, jpts, tsa, & 287 & e3w_n, gdept_n, gdep3w_n, & 288 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 278 & CALL zps_hde_isf( kstp, jpts, tsa, gtsu, gtsv, & ! Partial steps for top cell (ISF) 289 279 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 290 280 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the last ocean level … … 294 284 CALL eos ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation 295 285 IF( ln_zps .AND. .NOT. ln_isfcav) & 296 & CALL zps_hde ( kstp, jpts, tsn, & 297 & e3w_n, gdept_n, gtsu, gtsv, & ! Partial steps: before horizontal gradient 286 & CALL zps_hde ( kstp, jpts, tsn, gtsu, gtsv, & ! Partial steps: before horizontal gradient 298 287 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 299 288 IF( ln_zps .AND. ln_isfcav) & 300 & CALL zps_hde_isf( kstp, jpts, tsn, & 301 & e3w_n, gdept_n, gdep3w_n, & 302 & gtsu, gtsv, & ! Partial steps for top cell (ISF) 289 & CALL zps_hde_isf( kstp, jpts, tsn, gtsu, gtsv, & ! Partial steps for top cell (ISF) 303 290 & rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv , & 304 291 & gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi ) ! of t, s, rd at the last ocean level -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90
r7865 r7869 14 14 !!---------------------------------------------------------------------- 15 15 USE oce_trc ! ocean dynamics and active tracers variables 16 USE dom_oce, ONLY: e3w_n, gdep3w_n, gdept_n17 16 USE trc ! ocean passive tracers variables 18 17 USE trcnam_trp ! passive tracers transport namelist variables … … 85 84 86 85 IF( ln_zps .AND. .NOT. ln_isfcav) & 87 & CALL zps_hde ( kstp, jptra, trn, e3w_n, gdept_n, & 88 & gtru, gtrv ) ! Partial steps: now horizontal gradient of passive 86 & CALL zps_hde ( kstp, jptra, trn, gtru, gtrv ) ! Partial steps: now horizontal gradient of passive 89 87 IF( ln_zps .AND. ln_isfcav) & 90 & CALL zps_hde_isf( kstp, jptra, trn, & 91 & e3w_n, gdept_n, gdep3w_n, & 92 & pgtu=gtru, pgtv=gtrv, pgtui=gtrui, pgtvi=gtrvi ) ! Partial steps: now horizontal gradient of passive 88 & CALL zps_hde_isf( kstp, jptra, trn, pgtu=gtru, pgtv=gtrv, pgtui=gtrui, pgtvi=gtrvi ) ! Partial steps: now horizontal gradient of passive 93 89 ! tracers at the bottom ocean level 94 90 ! -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r7865 r7869 17 17 !!---------------------------------------------------------------------- 18 18 USE oce_trc ! shared variables between ocean and passive tracers 19 USE dom_oce, ONLY: e3w_n, gdep3w_n, gdept_n20 19 USE trc ! passive tracers common variables 21 20 USE trcrst ! passive tracers restart … … 143 142 ! 144 143 trb(:,:,:,:) = trn(:,:,:,:) 144 145 ! This code has been moved here from below - marc 4/417 146 ! Partial steps: before horizontal gradient of passive 147 IF ( ln_zps .AND. .NOT. lk_c1d .AND. .NOT. ln_isfcav ) THEN 148 CALL zps_hde(nit000, jptra, trn, gtru, gtrv) 149 END IF 145 150 ! 146 151 ENDIF 147 152 148 153 tra(:,:,:,:) = 0._wp 149 IF( ln_zps .AND. .NOT. lk_c1d .AND. .NOT. ln_isfcav ) & ! Partial steps: before horizontal gradient of passive 150 & CALL zps_hde ( nit000, jptra, trn, e3w_n, gdept_n, & 151 >ru, gtrv ) ! Partial steps: before horizontal gradient154 ! GTRU and GTRV have now been put into dump - marc 4/4/17 155 ! IF( ln_zps .AND. .NOT. lk_c1d .AND. .NOT. ln_isfcav ) & ! Partial steps: before horizontal gradient of passive 156 ! & CALL zps_hde ( nit000, jptra, trn, gtru, gtrv ) ! Partial steps: before horizontal gradient 152 157 IF( ln_zps .AND. .NOT. lk_c1d .AND. ln_isfcav ) & 153 & CALL zps_hde_isf( nit000, jptra, trn, e3w_n, gdept_n, gdep3w_n, & 154 & pgtu=gtru, pgtv=gtrv, pgtui=gtrui, pgtvi=gtrvi ) ! tracers at the bottom ocean level 158 & CALL zps_hde_isf( nit000, jptra, trn, pgtu=gtru, pgtv=gtrv, pgtui=gtrui, pgtvi=gtrvi ) ! tracers at the bottom ocean level 155 159 156 160 -
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/TOP_SRC/trcrst.F90
r7850 r7869 109 109 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 110 110 111 ! GTRU/PGU & GTRV/PGV are needed in TRALDF_ISO for calculation of tracers 112 DO jn = 1, jptra 113 CALL iom_get( numrtr, jpdom_autoglo, 'gtru_'//ctrcnm(jn), & 114 gtru(:,:,jn) ) 115 CALL iom_get( numrtr, jpdom_autoglo, 'gtrv_'//ctrcnm(jn), & 116 gtrv(:,:,jn) ) 117 END DO 118 ! tmp - marc 119 write(numout,*) 'bbb222. gtrv(6,13,7)=',gtrv(6,13,7) 120 ! 121 111 122 ! READ prognostic variables and computes diagnostic variable 112 123 DO jn = 1, jptra … … 133 144 ! 134 145 CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rdttrc(1) ) ! surface passive tracer time step 146 147 ! GTRU/PGU & GTRV/PGV are needed in TRALDF_ISO for calculation of tracers 148 DO jn = 1, jptra 149 CALL iom_rstput( kt, nitrst, numrtw, 'gtru_'//ctrcnm(jn), & 150 gtru(:,:,jn) ) 151 CALL iom_rstput( kt, nitrst, numrtw, 'gtrv_'//ctrcnm(jn), & 152 gtrv(:,:,jn) ) 153 END DO 154 135 155 ! prognostic variables 136 156 ! --------------------
Note: See TracChangeset
for help on using the changeset viewer.