New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13361 for NEMO/branches/2020 – NEMO

Changeset 13361 for NEMO/branches/2020


Ignore:
Timestamp:
2020-07-30T16:46:51+02:00 (4 years ago)
Author:
techene
Message:

make horizontal surface pressure gradient public variables local

Location:
NEMO/branches/2020/dev_r13333_KERNEL-08_techene_gm_HPG_SPG/src/OCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13333_KERNEL-08_techene_gm_HPG_SPG/src/OCE/DYN/dynspg.F90

    r13295 r13361  
    7979      INTEGER  ::   ji, jj, jk                   ! dummy loop indices 
    8080      REAL(wp) ::   z2dt, zg_2, zintp, zgrho0r, zld   ! local scalars 
    81       REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zpice 
    82       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdu, ztrdv 
     81      REAL(wp)             , DIMENSION(jpi,jpj) ::   zpgu, zpgv   ! 2D workspace 
     82      REAL(wp), ALLOCATABLE, DIMENSION(:,:)     ::   zpice 
     83      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:)   ::   ztrdu, ztrdv 
    8384      !!---------------------------------------------------------------------- 
    8485      ! 
     
    9697         ! 
    9798         DO_2D( 0, 0, 0, 0 ) 
    98             spgu(ji,jj) = 0._wp 
    99             spgv(ji,jj) = 0._wp 
     99            zpgu(ji,jj) = 0._wp 
     100            zpgv(ji,jj) = 0._wp 
    100101         END_2D 
    101102         ! 
     
    103104            zg_2 = grav * 0.5 
    104105            DO_2D( 0, 0, 0, 0 ) 
    105                spgu(ji,jj) = spgu(ji,jj) + zg_2 * (  ssh_ib (ji+1,jj) - ssh_ib (ji,jj)    & 
     106               zpgu(ji,jj) = zpgu(ji,jj) + zg_2 * (  ssh_ib (ji+1,jj) - ssh_ib (ji,jj)    & 
    106107                  &                                + ssh_ibb(ji+1,jj) - ssh_ibb(ji,jj)  ) * r1_e1u(ji,jj) 
    107                spgv(ji,jj) = spgv(ji,jj) + zg_2 * (  ssh_ib (ji,jj+1) - ssh_ib (ji,jj)    & 
     108               zpgv(ji,jj) = zpgv(ji,jj) + zg_2 * (  ssh_ib (ji,jj+1) - ssh_ib (ji,jj)    & 
    108109                  &                                + ssh_ibb(ji,jj+1) - ssh_ibb(ji,jj)  ) * r1_e2v(ji,jj) 
    109110            END_2D 
     
    118119            ! 
    119120            DO_2D( 0, 0, 0, 0 ) 
    120                spgu(ji,jj) = spgu(ji,jj) + grav * ( pot_astro(ji+1,jj) - pot_astro(ji,jj) ) * r1_e1u(ji,jj) 
    121                spgv(ji,jj) = spgv(ji,jj) + grav * ( pot_astro(ji,jj+1) - pot_astro(ji,jj) ) * r1_e2v(ji,jj) 
     121               zpgu(ji,jj) = zpgu(ji,jj) + grav * ( pot_astro(ji+1,jj) - pot_astro(ji,jj) ) * r1_e1u(ji,jj) 
     122               zpgv(ji,jj) = zpgv(ji,jj) + grav * ( pot_astro(ji,jj+1) - pot_astro(ji,jj) ) * r1_e2v(ji,jj) 
    122123            END_2D 
    123124            ! 
     
    125126               zld = rn_scal_load * grav 
    126127               DO_2D( 0, 0, 0, 0 ) 
    127                   spgu(ji,jj) = spgu(ji,jj) + zld * ( pssh(ji+1,jj,Kmm) - pssh(ji,jj,Kmm) ) * r1_e1u(ji,jj) 
    128                   spgv(ji,jj) = spgv(ji,jj) + zld * ( pssh(ji,jj+1,Kmm) - pssh(ji,jj,Kmm) ) * r1_e2v(ji,jj) 
     128                  zpgu(ji,jj) = zpgu(ji,jj) + zld * ( pssh(ji+1,jj,Kmm) - pssh(ji,jj,Kmm) ) * r1_e1u(ji,jj) 
     129                  zpgv(ji,jj) = zpgv(ji,jj) + zld * ( pssh(ji,jj+1,Kmm) - pssh(ji,jj,Kmm) ) * r1_e2v(ji,jj) 
    129130               END_2D 
    130131            ENDIF 
     
    137138            zpice(:,:) = (  zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:)  ) * zgrho0r 
    138139            DO_2D( 0, 0, 0, 0 ) 
    139                spgu(ji,jj) = spgu(ji,jj) + ( zpice(ji+1,jj) - zpice(ji,jj) ) * r1_e1u(ji,jj) 
    140                spgv(ji,jj) = spgv(ji,jj) + ( zpice(ji,jj+1) - zpice(ji,jj) ) * r1_e2v(ji,jj) 
     140               zpgu(ji,jj) = zpgu(ji,jj) + ( zpice(ji+1,jj) - zpice(ji,jj) ) * r1_e1u(ji,jj) 
     141               zpgv(ji,jj) = zpgv(ji,jj) + ( zpice(ji,jj+1) - zpice(ji,jj) ) * r1_e2v(ji,jj) 
    141142            END_2D 
    142143            DEALLOCATE( zpice )          
     
    144145         ! 
    145146         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    146             puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + spgu(ji,jj) 
    147             pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) + spgv(ji,jj) 
     147            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + zpgu(ji,jj) 
     148            pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) + zpgv(ji,jj) 
    148149         END_3D 
    149150         ! 
  • NEMO/branches/2020/dev_r13333_KERNEL-08_techene_gm_HPG_SPG/src/OCE/oce.F90

    r13237 r13361  
    4949   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ub2_i_b, vb2_i_b         !: Half step time integrated fluxes  
    5050#endif 
    51    ! 
    52    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   spgu, spgv               !: horizontal surface pressure gradient 
    5351 
    5452   !! interpolated gradient (only used in zps case) 
     
    8381      ! 
    8482      ierr(:) = 0  
    85       ALLOCATE( uu   (jpi,jpj,jpk,jpt)  , vv   (jpi,jpj,jpk,jpt) ,                              &           
    86          &      ww   (jpi,jpj,jpk)      , hdiv(jpi,jpj,jpk)      ,                              & 
    87          &      ts   (jpi,jpj,jpk,jpts,jpt),                                                    & 
    88          &      rab_b(jpi,jpj,jpk,jpts) , rab_n(jpi,jpj,jpk,jpts) ,                             & 
    89          &      rn2b (jpi,jpj,jpk)      , rn2  (jpi,jpj,jpk)      ,                             & 
    90          &      rhd  (jpi,jpj,jpk)      , rhop (jpi,jpj,jpk)                              , STAT=ierr(1) ) 
     83      ALLOCATE( uu   (jpi,jpj,jpk,jpt)  , vv   (jpi,jpj,jpk,jpt)           ,     &           
     84         &      ww   (jpi,jpj,jpk)      , hdiv(jpi,jpj,jpk)                ,     & 
     85         &      ts   (jpi,jpj,jpk,jpts,jpt)                                ,     & 
     86         &      rab_b(jpi,jpj,jpk,jpts) , rab_n(jpi,jpj,jpk,jpts)          ,     & 
     87         &      rn2b (jpi,jpj,jpk)      , rn2  (jpi,jpj,jpk)               ,     & 
     88         &      rhd  (jpi,jpj,jpk)      , rhop (jpi,jpj,jpk)               , STAT=ierr(1) ) 
    9189         ! 
    92       ALLOCATE( ssh(jpi,jpj,jpt)  , uu_b(jpi,jpj,jpt) , vv_b(jpi,jpj,jpt) , & 
    93          &      spgu  (jpi,jpj)   , spgv(jpi,jpj)                     ,     & 
    94          &      gtsu(jpi,jpj,jpts), gtsv(jpi,jpj,jpts)                ,     & 
    95          &      gru(jpi,jpj)      , grv(jpi,jpj)                      ,     & 
    96          &      gtui(jpi,jpj,jpts), gtvi(jpi,jpj,jpts)                ,     & 
    97          &      grui(jpi,jpj)     , grvi(jpi,jpj)                     ,     & 
    98          &      riceload(jpi,jpj)                                     , STAT=ierr(2) ) 
     90      ALLOCATE( ssh (jpi,jpj,jpt)  , uu_b(jpi,jpj,jpt) , vv_b(jpi,jpj,jpt) ,     & 
     91         &      gtsu(jpi,jpj,jpts) , gtsv(jpi,jpj,jpts)                    ,     & 
     92         &      gru (jpi,jpj)      , grv (jpi,jpj)                         ,     & 
     93         &      gtui(jpi,jpj,jpts) , gtvi(jpi,jpj,jpts)                    ,     & 
     94         &      grui(jpi,jpj)      , grvi(jpi,jpj)                         ,     & 
     95         &      riceload(jpi,jpj)                                          , STAT=ierr(2) ) 
    9996         ! 
    10097      ALLOCATE( fraqsr_1lev(jpi,jpj) , STAT=ierr(3) ) 
Note: See TracChangeset for help on using the changeset viewer.