Changeset 14072 for NEMO/trunk/src/OCE/DYN/dynspg.F90
- Timestamp:
- 2020-12-04T08:48:38+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/DYN/dynspg.F90
r14064 r14072 11 11 12 12 !!---------------------------------------------------------------------- 13 !! dyn_spg : update the dynamics trend with surface pressure gradient 13 !! dyn_spg : update the dynamics trend with surface pressure gradient 14 14 !! dyn_spg_init: initialization, namelist read, and parameters control 15 15 !!---------------------------------------------------------------------- … … 39 39 PUBLIC dyn_spg_init ! routine called by opa module 40 40 41 INTEGER :: nspg = 0 ! type of surface pressure gradient scheme defined from lk_dynspg_... 41 INTEGER :: nspg = 0 ! type of surface pressure gradient scheme defined from lk_dynspg_... 42 42 43 43 ! ! Parameter to control the surface pressure gradient scheme … … 52 52 !!---------------------------------------------------------------------- 53 53 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 54 !! $Id$ 54 !! $Id$ 55 55 !! Software governed by the CeCILL license (see ./LICENSE) 56 56 !!---------------------------------------------------------------------- … … 61 61 !! *** ROUTINE dyn_spg *** 62 62 !! 63 !! ** Purpose : compute surface pressure gradient including the 63 !! ** Purpose : compute surface pressure gradient including the 64 64 !! atmospheric pressure forcing (ln_apr_dyn=T). 65 65 !! … … 68 68 !! - split-explicit : a time splitting technique is used 69 69 !! 70 !! ln_apr_dyn=T : the atmospheric pressure forcing is applied 70 !! ln_apr_dyn=T : the atmospheric pressure forcing is applied 71 71 !! as the gradient of the inverse barometer ssh: 72 72 !! apgu = - 1/rho0 di[apr] = 0.5*grav di[ssh_ib+ssh_ibb] … … 90 90 ! 91 91 IF( l_trddyn ) THEN ! temporary save of ta and sa trends 92 ALLOCATE( ztrdu(jpi,jpj,jpk) , ztrdv(jpi,jpj,jpk) ) 92 ALLOCATE( ztrdu(jpi,jpj,jpk) , ztrdv(jpi,jpj,jpk) ) 93 93 ztrdu(:,:,:) = puu(:,:,:,Krhs) 94 94 ztrdv(:,:,:) = pvv(:,:,:,Krhs) … … 144 144 zpgv(ji,jj) = zpgv(ji,jj) + ( zpice(ji,jj+1) - zpice(ji,jj) ) * r1_e2v(ji,jj) 145 145 END_2D 146 DEALLOCATE( zpice ) 146 DEALLOCATE( zpice ) 147 147 ENDIF 148 148 ! … … 160 160 ! 161 161 !!gm add here a call to dyn_trd for ice pressure gradient, the surf pressure trends ???? 162 ! 162 ! 163 163 ENDIF 164 164 ! … … 167 167 CASE ( np_TS ) ; CALL dyn_spg_ts ( kt, Kbb, Kmm, Krhs, puu, pvv, pssh, puu_b, pvv_b, Kaa ) ! time-splitting 168 168 END SELECT 169 ! 169 ! 170 170 IF( l_trddyn ) THEN ! save the surface pressure gradient trends for further diagnostics 171 171 ztrdu(:,:,:) = puu(:,:,:,Krhs) - ztrdu(:,:,:) 172 172 ztrdv(:,:,:) = pvv(:,:,:,Krhs) - ztrdv(:,:,:) 173 173 CALL trd_dyn( ztrdu, ztrdv, jpdyn_spg, kt, Kmm ) 174 DEALLOCATE( ztrdu , ztrdv ) 174 DEALLOCATE( ztrdu , ztrdv ) 175 175 ENDIF 176 176 ! ! print mean trends (used for debugging) … … 186 186 !!--------------------------------------------------------------------- 187 187 !! *** ROUTINE dyn_spg_init *** 188 !! 189 !! ** Purpose : Control the consistency between namelist options for 188 !! 189 !! ** Purpose : Control the consistency between namelist options for 190 190 !! surface pressure gradient schemes 191 191 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.