Changeset 31 for trunk/NEMO/OPA_SRC/DYN/dynspg_fsc_atsk.F90
- Timestamp:
- 2004-02-17T10:19:59+01:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/dynspg_fsc_atsk.F90
r3 r31 43 43 44 44 !! * Shares module variables 45 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_fsc_tsk = .TRUE. ! free surf. cst vol. flag45 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_fsc_tsk = .TRUE. !: free surf. cst vol. flag 46 46 47 47 !! * Substitutions … … 81 81 !! where (spgu,spgv) are given by: 82 82 !! spgu = vertical sum[ e3u (ub+ 2 rdt ua ) ] 83 !! - g 2 rdt hu /e1u di[sshn + emp]83 !! - grav 2 rdt hu /e1u di[sshn + emp] 84 84 !! spgv = vertical sum[ e3v (vb+ 2 rdt va) ] 85 !! - g 2 rdt hv /e2v dj[sshn + emp]85 !! - grav 2 rdt hv /e2v dj[sshn + emp] 86 86 !! and define the first guess from previous computation : 87 87 !! zbtd = btda … … 128 128 spgu(:,:) = 0.e0 ! surface pressure gradient (i-direction) 129 129 spgv(:,:) = 0.e0 ! surface pressure gradient (j-direction) 130 IF( .NOT.ln_rstart ) THEN131 sshb(:,:) = 0.e0 ! before sea-surface height132 sshn(:,:) = 0.e0 ! now sea-surface height133 ENDIF134 130 ENDIF 135 131 … … 141 137 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt 142 138 ! coefficients 143 z2dtg = g * z2dt139 z2dtg = grav * z2dt 144 140 zraur = 1. / rauw 145 znugdt = rnu * g * z2dt141 znugdt = rnu * grav * z2dt 146 142 znurau = znugdt * zraur 147 #if defined key_mpp 148 ! Mpp : export boundary values of to neighboring processors 149 !!bug ??? why only in mpp? is it really needed??? 150 CALL lbc_lnk( ua, 'U' , -1. ) 151 CALL lbc_lnk( va, 'V' , -1. ) 152 #endif 143 IF( lk_mpp ) THEN 144 ! Mpp : export boundary values of to neighboring processors 145 !!bug ??? why only in mpp? is it really needed??? 146 CALL lbc_lnk( ua, 'U' , -1. ) 147 CALL lbc_lnk( va, 'V' , -1. ) 148 ENDIF 149 153 150 ! ! =============== 154 151 DO jj = 2, jpjm1 ! Vertical slab … … 157 154 ! ---------------------------- 158 155 DO ji = 2, jpim1 159 zspgu = - g* ( sshn(ji+1,jj) - sshn(ji,jj) ) / e1u(ji,jj)160 zspgv = - g* ( sshn(ji,jj+1) - sshn(ji,jj) ) / e2v(ji,jj)156 zspgu = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) / e1u(ji,jj) 157 zspgv = - grav * ( sshn(ji,jj+1) - sshn(ji,jj) ) / e2v(ji,jj) 161 158 zegu = + znurau * ( emp (ji+1,jj) - emp (ji,jj) ) / e1u(ji,jj) 162 159 zegv = + znurau * ( emp (ji,jj+1) - emp (ji,jj) ) / e2v(ji,jj) … … 286 283 END DO 287 284 END DO 288 #if defined key_mpp 289 CALL mpp_sum( rnorme ) 290 #endif 285 IF( lk_mpp ) CALL mpp_sum( rnorme ) ! sum over the global domain 286 291 287 epsr = eps * eps * rnorme 292 288 ncut = 0 … … 310 306 CALL sol_pcg( kindic ) 311 307 ELSEIF( nsolv == 2 ) THEN ! successive-over-relaxation 312 CALL sol_sor( k t, kindic )308 CALL sol_sor( kindic ) 313 309 ELSEIF( nsolv == 3 ) THEN ! FETI solver 314 310 CALL sol_fet( kindic ) … … 400 396 !! Default case : Empty module 401 397 !!---------------------------------------------------------------------- 402 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_fsc_tsk = .FALSE. ! free surf. cst vol. flag398 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_fsc_tsk = .FALSE. !: free surf. cst vol. flag 403 399 CONTAINS 404 400 SUBROUTINE dyn_spg_fsc_atsk( kt, kindic ) ! Empty module 405 WRITE(*,*) kt, kindic401 WRITE(*,*) 'dyn_spg_fsc_atsk: You should not have seen this print! error?', kt, kindic 406 402 END SUBROUTINE dyn_spg_fsc_atsk 407 403 #endif
Note: See TracChangeset
for help on using the changeset viewer.