- Timestamp:
- 2020-07-30T16:46:51+02:00 (4 years ago)
- 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 79 79 INTEGER :: ji, jj, jk ! dummy loop indices 80 80 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 83 84 !!---------------------------------------------------------------------- 84 85 ! … … 96 97 ! 97 98 DO_2D( 0, 0, 0, 0 ) 98 spgu(ji,jj) = 0._wp99 spgv(ji,jj) = 0._wp99 zpgu(ji,jj) = 0._wp 100 zpgv(ji,jj) = 0._wp 100 101 END_2D 101 102 ! … … 103 104 zg_2 = grav * 0.5 104 105 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) & 106 107 & + 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) & 108 109 & + ssh_ibb(ji,jj+1) - ssh_ibb(ji,jj) ) * r1_e2v(ji,jj) 109 110 END_2D … … 118 119 ! 119 120 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) 122 123 END_2D 123 124 ! … … 125 126 zld = rn_scal_load * grav 126 127 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) 129 130 END_2D 130 131 ENDIF … … 137 138 zpice(:,:) = ( zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:) ) * zgrho0r 138 139 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) 141 142 END_2D 142 143 DEALLOCATE( zpice ) … … 144 145 ! 145 146 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) 148 149 END_3D 149 150 ! -
NEMO/branches/2020/dev_r13333_KERNEL-08_techene_gm_HPG_SPG/src/OCE/oce.F90
r13237 r13361 49 49 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ub2_i_b, vb2_i_b !: Half step time integrated fluxes 50 50 #endif 51 !52 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: spgu, spgv !: horizontal surface pressure gradient53 51 54 52 !! interpolated gradient (only used in zps case) … … 83 81 ! 84 82 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) 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) ) 91 89 ! 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) ) 99 96 ! 100 97 ALLOCATE( fraqsr_1lev(jpi,jpj) , STAT=ierr(3) )
Note: See TracChangeset
for help on using the changeset viewer.