Changeset 359 for trunk/NEMO/OPA_SRC/SOL
- Timestamp:
- 2005-12-21T11:46:45+01:00 (18 years ago)
- Location:
- trunk/NEMO/OPA_SRC/SOL
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SOL/solfet.F90
r247 r359 37 37 !! Solve the ellipic equation for the barotropic stream function 38 38 !! system (default option) or the transport divergence system 39 !! (lk_dynspg_f sc=T) using a Finite Elements Tearing and39 !! (lk_dynspg_flt=T) using a Finite Elements Tearing and 40 40 !! Interconnecting (FETI) approach. 41 41 !! In the former case, the barotropic stream function trend has a -
trunk/NEMO/OPA_SRC/SOL/solmat.F90
r315 r359 19 19 USE lbclnk ! lateral boudary conditions 20 20 USE lib_mpp ! distributed memory computing 21 USE dynspg_rl22 USE dynspg_fsc23 21 24 22 IMPLICIT NONE … … 46 44 !! The matrix is built for the barotropic stream function system. 47 45 !! a diagonal preconditioning matrix is also defined. 48 !! * lk_dynspg_f sc=T: free surface formulation46 !! * lk_dynspg_flt=T: free surface formulation 49 47 !! The matrix is built for the divergence of the transport system 50 48 !! a diagonal preconditioning matrix is also defined. … … 67 65 !! 8.5 ! 02-08 (G. Madec) F90: Free form 68 66 !! ! 02-11 (C. Talandier, A-M. Treguier) Free surface & Open boundaries 67 !! 9.0 ! 05-11 (V. Garnier) Surface pressure gradient organization 69 68 !!---------------------------------------------------------------------- 70 69 !! * Local declarations … … 96 95 z2dt = 2. * rdt 97 96 98 #if defined key_dynspg_f sc&& ! defined key_obc99 !!cr IF( lk_dynspg_f sc .AND. .NOT.lk_obc ) THEN !bug missing lk_dynspg_fsc_atsk97 #if defined key_dynspg_flt && ! defined key_obc 98 !!cr IF( lk_dynspg_flt .AND. .NOT.lk_obc ) THEN !bug missing lk_dynspg_flt_atsk 100 99 101 100 ! defined the coefficients for free surface elliptic system … … 117 116 END DO 118 117 119 # elif defined key_dynspg_f sc&& defined key_obc120 !!cr ELSEIF( lk_dynspg_f sc .AND. lk_obc ) THEN !bug missing lk_dynspg_fsc_atsk118 # elif defined key_dynspg_flt && defined key_obc 119 !!cr ELSEIF( lk_dynspg_flt .AND. lk_obc ) THEN !bug missing lk_dynspg_flt_atsk 121 120 122 121 ! defined gcdmat in the case of open boundaries … … 200 199 ! account for the existence of the south symmetric bassin. 201 200 202 !!cr IF( .NOT.lk_dynspg_f sc ) THEN !bug missing lk_dynspg_fsc_atsk203 #if ! defined key_dynspg_f sc201 !!cr IF( .NOT.lk_dynspg_flt ) THEN !bug missing lk_dynspg_flt_atsk 202 #if ! defined key_dynspg_flt 204 203 IF( nperio == 2 ) THEN 205 204 DO ji = 1, jpi -
trunk/NEMO/OPA_SRC/SOL/solpcg.F90
r247 r359 38 38 !! ** Purpose : Solve the ellipic equation for the barotropic stream 39 39 !! function system (lk_dynspg_rl=T) or the transport divergence 40 !! system (lk_dynspg_f sc=T) using a diagonal preconditionned40 !! system (lk_dynspg_flt=T) using a diagonal preconditionned 41 41 !! conjugate gradient method. 42 42 !! In the former case, the barotropic stream function trend has a -
trunk/NEMO/OPA_SRC/SOL/solsor.F90
r247 r359 37 37 !! ** Purpose : Solve the ellipic equation for the barotropic stream 38 38 !! function system (lk_dynspg_rl=T) or the transport divergence 39 !! system (lk_dynspg_f sc=T) using a red-black successive-over-39 !! system (lk_dynspg_flt=T) using a red-black successive-over- 40 40 !! relaxation method. 41 41 !! In the former case, the barotropic stream function trend has a -
trunk/NEMO/OPA_SRC/SOL/solsor_e.F90
r313 r359 37 37 !! ** Purpose : Solve the ellipic equation for the barotropic stream 38 38 !! function system (lk_dynspg_rl=T) or the transport divergence 39 !! system (lk_dynspg_f sc=T) using a red-black successive-over-39 !! system (lk_dynspg_flt=T) using a red-black successive-over- 40 40 !! relaxation method. 41 41 !! In the former case, the barotropic stream function trend has a -
trunk/NEMO/OPA_SRC/SOL/solver.F90
r312 r359 19 19 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 20 20 USE lib_mpp 21 USE dynspg_rl 22 USE dynspg_fsc 23 USE dynspg_fsc_atsk 21 USE dynspg ! choice/control of key cpp for surface pressure gradient 24 22 25 23 IMPLICIT NONE … … 40 38 !! * default option: barotropic stream function system 41 39 !! and islands initialization (if lk_isl=T) 42 !! * lk_dynspg_f sc= T : transport divergence system. No specific40 !! * lk_dynspg_flt = T : transport divergence system. No specific 43 41 !! treatment of islands. 44 42 !! 45 43 !! ** Method : 46 44 !! - Compute the local depth of the water column at u- and v-point 47 !! (lk_dynspg_f sc= T) or its inverse (lk_dynspg_rl = T).45 !! (lk_dynspg_flt = T) or its inverse (lk_dynspg_rl = T). 48 46 !! The local depth of the water column is computed by summing 49 47 !! the vertical scale factors. For its inverse, the thickness of … … 64 62 !! u- and v-point. (lk_dynspg_rl = T) 65 63 !! - hu, hv : masked local depth at u- and v- points 66 !! (lk_dynspg_f sc= T)64 !! (lk_dynspg_flt = T) 67 65 !! - c_solver_pt : nature of the gridpoint at which the 68 66 !! solver is applied … … 77 75 !! ! 98-10 (G. Roullet, G. Madec) free surface 78 76 !! 9.0 ! 03-07 (G. Madec) free form, F90 77 !! " ! 05-11 (V. Garnier) Surface pressure gradient organization 79 78 !!---------------------------------------------------------------------- 80 79 !! * Local declarations … … 126 125 ENDIF 127 126 128 IF( lk_dynspg_f sc .OR. lk_dynspg_fsc_tsk) THEN127 IF( lk_dynspg_flt ) THEN 129 128 IF(lwp) WRITE(numout,*) 130 129 IF(lwp) WRITE(numout,*) ' free surface formulation' 131 130 IF( lk_isl ) THEN 132 131 IF(lwp) WRITE(numout,cform_err) 133 IF(lwp) WRITE(numout,*) ' key_islands inconsistent with key_dynspg_f sc'132 IF(lwp) WRITE(numout,*) ' key_islands inconsistent with key_dynspg_flt' 134 133 nstop = nstop + 1 135 134 ENDIF … … 139 138 ELSE 140 139 IF(lwp) WRITE(numout,cform_err) 141 IF(lwp) WRITE(numout,*) ' Chose at least one surface pressure gradient calculation: free surface or rigid-lid' 140 IF(lwp) WRITE(numout,*) ' Choose only one surface pressure gradient calculation: filtered or rigid-lid' 141 IF(lwp) WRITE(numout,*) ' Should not call this routine if dynspg_exp or dynspg_ts has been chosen' 142 142 nstop = nstop + 1 143 143 ENDIF 144 IF( ( lk_dynspg_fsc .OR. lk_dynspg_fsc_tsk ).AND. lk_dynspg_rl ) THEN144 IF( lk_dynspg_flt .AND. lk_dynspg_rl ) THEN 145 145 IF(lwp) WRITE(numout,cform_err) 146 146 IF(lwp) WRITE(numout,*) ' Chose between free surface or rigid-lid, not both'
Note: See TracChangeset
for help on using the changeset viewer.