Changeset 7865


Ignore:
Timestamp:
2017-04-03T10:17:15+02:00 (3 years ago)
Author:
marc
Message:

Adding extra arguments to ZPS_HDE

Location:
branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r7850 r7865  
    546546      ! Partial steps: before Horizontal DErivative 
    547547      IF( ln_zps  .AND. .NOT. ln_isfcav)                            & 
    548          &            CALL zps_hde    ( kt, jpts, pts, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
     548         &            CALL zps_hde    ( kt, jpts, pts,              & 
     549         &                                        fse3w_n, gdept_n, & 
     550         &                                        gtsu, gtsv,       &  ! Partial steps: before horizontal gradient 
    549551         &                                        rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    550552      IF( ln_zps .AND.        ln_isfcav)                            & 
    551          &            CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     553         &            CALL zps_hde_isf( kt, jpts, pts,              & 
     554         &                              fse3w_n, gdept_n, gdep3w_n, & 
     555         &                                        gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
    552556         &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    553557         &                                 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

    r7850 r7865  
    646646      !! ** Action  :  
    647647      !!---------------------------------------------------------------------- 
     648      USE dom_oce, ONLY: e3w_n 
     649 
    648650      INTEGER, INTENT(IN) :: kt               ! Current time step 
    649651      ! 
     
    747749 
    748750            IF( ln_zps .AND. .NOT. lk_c1d .AND. .NOT. ln_isfcav)      & 
    749                &  CALL zps_hde    ( kt, jpts, tsb, gtsu, gtsv,        &  ! Partial steps: before horizontal gradient 
     751               &  CALL zps_hde    ( kt, jpts, tsb, e3w_n, gdept_n,    & 
     752               &                              gtsu, gtsv,             &  ! Partial steps: before horizontal gradient 
    750753               &                              rhd, gru , grv          )  ! of t, s, rd at the last ocean level 
    751754            IF( ln_zps .AND. .NOT. lk_c1d .AND.       ln_isfcav)      & 
    752                &  CALL zps_hde_isf( nit000, jpts, tsb, gtsu, gtsv,    &    ! Partial steps for top cell (ISF) 
     755               &  CALL zps_hde_isf( nit000, jpts, tsb,                & 
     756               &                    e3w_n, gdept_n, gdep3w_n,         & 
     757               &                    gtsu, gtsv,                       &    ! Partial steps for top cell (ISF) 
    753758               &                                  rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    754759               &                           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

    r7850 r7865  
    130130#if ! defined key_c1d 
    131131         IF( ln_zps .AND. .NOT. ln_isfcav)                                 & 
    132             &            CALL zps_hde    ( nit000, jpts, tsb, gtsu, gtsv,  &    ! Partial steps: before horizontal gradient 
     132            &            CALL zps_hde    ( nit000, jpts, tsb,              & 
     133            &                              e3w_n, gdept_n, gtsu, gtsv,     &    ! Partial steps: before horizontal gradient 
    133134            &                                            rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    134135         IF( ln_zps .AND.       ln_isfcav)                                 & 
    135             &            CALL zps_hde_isf( nit000, jpts, tsb, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     136            &            CALL zps_hde_isf( nit000, jpts, tsb,              & 
     137            &                              e3w_n, gdept_n, gdep3w_n,       & 
     138            &                              gtsu, gtsv,                     &    ! Partial steps for top cell (ISF) 
    136139            &                                            rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    137140            &                                     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

    r7850 r7865  
    3232 
    3333   !! * Substitutions 
    34 #  include "domzgr_substitute.h90" 
    3534#  include "vectopt_loop_substitute.h90" 
    3635   !!---------------------------------------------------------------------- 
     
    4140CONTAINS 
    4241 
    43    SUBROUTINE zps_hde( kt, kjpt, pta, pgtu, pgtv,   & 
     42   SUBROUTINE zps_hde( kt, kjpt, pta, fse3w, fsdept, pgtu, pgtv,   & 
    4443      &                          prd, pgru, pgrv    ) 
    4544      !!---------------------------------------------------------------------- 
     
    8988      INTEGER                              , INTENT(in   )           ::  kjpt        ! number of tracers 
    9089      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 pts 
     91      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(in   )           ::  fsdept      !  Depth now at t pts 
    9192      REAL(wp), DIMENSION(jpi,jpj,    kjpt), INTENT(  out)           ::  pgtu, pgtv  ! hor. grad. of ptra at u- & v-pts  
    9293      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ), OPTIONAL ::  prd         ! 3D density anomaly fields 
     
    196197   END SUBROUTINE zps_hde 
    197198   ! 
    198    SUBROUTINE zps_hde_isf( kt, kjpt, pta, pgtu, pgtv,   & 
     199   SUBROUTINE zps_hde_isf( kt, kjpt, pta, fse3w, fsdept, fsde3w, pgtu, pgtv,  & 
    199200      &                          prd, pgru, pgrv, pmru, pmrv, pgzu, pgzv, pge3ru, pge3rv,  & 
    200201      &                   pgtui, pgtvi, pgrui, pgrvi, pmrui, pmrvi, pgzui, pgzvi, pge3rui, pge3rvi ) 
     
    248249      INTEGER                              , INTENT(in   )           ::  kjpt        ! number of tracers 
    249250      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 pts 
     252      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(in   )           ::  fsdept      !  Depth now at t pts 
     253      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(in   )           ::  fsde3w      ! Now depth of t pts (sum of e3w) (m) 
    250254      REAL(wp), DIMENSION(jpi,jpj,    kjpt), INTENT(  out)           ::  pgtu, pgtv  ! hor. grad. of ptra at u- & v-pts  
    251255      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

    r7850 r7865  
    3131   !!   stp             : OPA system time-stepping 
    3232   !!---------------------------------------------------------------------- 
     33   USE dom_oce, ONLY: e3w_n, gdep3w_n, gdept_n 
    3334   USE step_oce         ! time stepping definition modules 
    3435   USE iom 
     
    155156                         CALL eos( tsb, rhd, gdept_0(:,:,:) )               ! before in situ density 
    156157         IF( ln_zps .AND. .NOT. ln_isfcav)                               & 
    157             &            CALL zps_hde    ( kstp, jpts, tsb, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
     158            &            CALL zps_hde    ( kstp, jpts, tsb,              & 
     159            &                              e3w_n, gdept_n, gtsu, gtsv,   &  ! Partial steps: before horizontal gradient 
    158160            &                                          rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    159161         IF( ln_zps .AND.       ln_isfcav)                               & 
    160             &            CALL zps_hde_isf( kstp, jpts, tsb, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     162            &            CALL zps_hde_isf( kstp, jpts, tsb,              & 
     163            &                              e3w_n, gdept_n, gdep3w_n,     & 
     164            &                              gtsu, gtsv,                   &    ! Partial steps for top cell (ISF) 
    161165            &                                          rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    162166            &                                   gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the first ocean level 
     
    191195                            CALL eos    ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation 
    192196            IF( ln_zps .AND. .NOT. ln_isfcav)                               & 
    193                &            CALL zps_hde    ( kstp, jpts, tsn, gtsu, gtsv,  &    ! Partial steps: before horizontal gradient 
     197               &            CALL zps_hde    ( kstp, jpts, tsn,              & 
     198               &                              e3w_n, gdept_n, gtsu, gtsv,   &    ! Partial steps: before horizontal gradient 
    194199               &                                          rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    195200            IF( ln_zps .AND.       ln_isfcav)                               & 
    196                &            CALL zps_hde_isf( kstp, jpts, tsn, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     201               &            CALL zps_hde_isf( kstp, jpts, tsn,              & 
     202               &                              e3w_n, gdept_n, gdep3w_n,     & 
     203               &                              gtsu, gtsv,                   &    ! Partial steps for top cell (ISF) 
    197204               &                                          rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    198205               &                                   gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the last ocean level 
     
    273280                             CALL eos    ( tsa, rhd, rhop, fsdept_n(:,:,:) )  ! Time-filtered in situ density for hpg computation 
    274281            IF( ln_zps .AND. .NOT. ln_isfcav)                                & 
    275                &             CALL zps_hde    ( kstp, jpts, tsa, gtsu, gtsv,  &    ! Partial steps: before horizontal gradient 
     282               &             CALL zps_hde    ( kstp, jpts, tsa,              & 
     283               &                               e3w_n, gdept_n, gtsu, gtsv,   &    ! Partial steps: before horizontal gradient 
    276284               &                                           rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    277285            IF( ln_zps .AND.       ln_isfcav)                                & 
    278                &             CALL zps_hde_isf( kstp, jpts, tsa, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     286               &             CALL zps_hde_isf( kstp, jpts, tsa,              & 
     287               &                               e3w_n, gdept_n, gdep3w_n,     & 
     288               &                               gtsu, gtsv,                   &    ! Partial steps for top cell (ISF) 
    279289               &                                           rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    280290               &                                    gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the last ocean level 
     
    284294                             CALL eos    ( tsn, rhd, rhop, fsdept_n(:,:,:) )  ! now in situ density for hpg computation 
    285295         IF( ln_zps .AND. .NOT. ln_isfcav)                                   & 
    286                &             CALL zps_hde    ( kstp, jpts, tsn, gtsu, gtsv,  &    ! Partial steps: before horizontal gradient 
     296               &             CALL zps_hde    ( kstp, jpts, tsn,              & 
     297               &                               e3w_n, gdept_n, gtsu, gtsv,   &    ! Partial steps: before horizontal gradient 
    287298               &                                           rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    288299         IF( ln_zps .AND.       ln_isfcav)                                   &  
    289                &             CALL zps_hde_isf( kstp, jpts, tsn, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     300               &             CALL zps_hde_isf( kstp, jpts, tsn,              & 
     301               &                               e3w_n, gdept_n, gdep3w_n,     & 
     302               &                               gtsu, gtsv,                   &    ! Partial steps for top cell (ISF) 
    290303               &                                           rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    291304               &                                    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

    r7850 r7865  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc         ! ocean dynamics and active tracers variables 
     16   USE dom_oce, ONLY: e3w_n, gdep3w_n, gdept_n 
    1617   USE trc             ! ocean passive tracers variables  
    1718   USE trcnam_trp      ! passive tracers transport namelist variables 
     
    8485 
    8586         IF( ln_zps  .AND. .NOT. ln_isfcav)        & 
    86             &            CALL zps_hde    ( kstp, jptra, trn, gtru, gtrv )   ! Partial steps: now horizontal gradient of passive 
     87            &            CALL zps_hde    ( kstp, jptra, trn, e3w_n, gdept_n, & 
     88            &                              gtru, gtrv )   ! Partial steps: now horizontal gradient of passive 
    8789         IF( ln_zps .AND.        ln_isfcav)        & 
    88             &            CALL zps_hde_isf( kstp, jptra, trn, pgtu=gtru, pgtv=gtrv, pgtui=gtrui, pgtvi=gtrvi )  ! Partial steps: now horizontal gradient of passive 
     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 
    8993                                                                ! tracers at the bottom ocean level 
    9094         ! 
  • branches/UKMO/dev_r5518_medusa_fix_restart/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r7850 r7865  
    1717   !!---------------------------------------------------------------------- 
    1818   USE oce_trc         ! shared variables between ocean and passive tracers 
     19   USE dom_oce, ONLY: e3w_n, gdep3w_n, gdept_n 
    1920   USE trc             ! passive tracers common variables 
    2021   USE trcrst          ! passive tracers restart 
     
    147148      tra(:,:,:,:) = 0._wp 
    148149      IF( ln_zps .AND. .NOT. lk_c1d .AND. .NOT. ln_isfcav )   &              ! Partial steps: before horizontal gradient of passive 
    149         &    CALL zps_hde    ( nit000, jptra, trn, gtru, gtrv  )  ! Partial steps: before horizontal gradient 
     150        &    CALL zps_hde    ( nit000, jptra, trn, e3w_n, gdept_n,    & 
     151        &                      gtru, gtrv  )  ! Partial steps: before horizontal gradient 
    150152      IF( ln_zps .AND. .NOT. lk_c1d .AND.       ln_isfcav )   & 
    151         &    CALL zps_hde_isf( nit000, jptra, trn, pgtu=gtru, pgtv=gtrv, pgtui=gtrui, pgtvi=gtrvi )       ! tracers at the bottom ocean level 
     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 
    152155 
    153156 
Note: See TracChangeset for help on using the changeset viewer.