Changeset 79
- Timestamp:
- 2004-04-22T14:57:11+02:00 (20 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SOL/solver.F90
r41 r79 21 21 USE dynspg_rl 22 22 USE dynspg_fsc 23 USE dynspg_fsc_atsk 23 USE dynspg_fsc_atsk 24 24 25 25 IMPLICIT NONE … … 37 37 !! ** Purpose : Initialization for the solver of the elliptic equation: 38 38 !! * default option: barotropic stream function system 39 !! and islands initialization (if l _isl=T)39 !! and islands initialization (if lk_isl=T) 40 40 !! * lk_dynspg_fsc = T : transport divergence system. No specific 41 41 !! treatment of islands. … … 51 51 !! - Construct the matrix of the elliptic system by a call to 52 52 !! solmat.F routine. 53 !! - island (if l _isl=T)53 !! - island (if lk_isl=T) 54 54 !! isl_dom: find islands from the bathymetry file 55 55 !! isl_bsf: compute the island barotropic stream function … … 83 83 84 84 IF(lwp) WRITE(numout,*) 85 IF(lwp) WRITE(numout,*) ' ini_sol: solver to compute the surface pressure gradient'86 IF(lwp) WRITE(numout,*) '~~~~~~~ '85 IF(lwp) WRITE(numout,*) 'solver_init : solver to compute the surface pressure gradient' 86 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 87 87 88 88 ! open elliptic solver statistics file … … 110 110 111 111 IF(lwp) THEN 112 WRITE(numout,*)113 112 WRITE(numout,*) ' type of elliptic solver nsolv = ', nsolv 114 113 WRITE(numout,*) ' maximum iterations for solver nmax = ', nmax 115 114 WRITE(numout,*) ' absolute precision of solver eps = ', eps 116 115 WRITE(numout,*) ' optimal coefficient of sor sor = ', sor 117 IF(l _isl) WRITE(numout,*) ' absolute precision stream fct epsisl = ', epsisl118 IF(l _isl) WRITE(numout,*) ' maximum pcg iterations island nmisl = ', nmisl116 IF(lk_isl) WRITE(numout,*) ' absolute precision stream fct epsisl = ', epsisl 117 IF(lk_isl) WRITE(numout,*) ' maximum pcg iterations island nmisl = ', nmisl 119 118 WRITE(numout,*) ' free surface parameter rnu = ', rnu 120 119 WRITE(numout,*) … … 123 122 IF( lk_dynspg_fsc .OR. lk_dynspg_fsc_tsk ) THEN 124 123 IF(lwp) WRITE(numout,*) 125 IF(lwp) WRITE(numout,*) ' ***free surface formulation'126 IF( l _isl ) THEN124 IF(lwp) WRITE(numout,*) ' free surface formulation' 125 IF( lk_isl ) THEN 127 126 IF(lwp) WRITE(numout,cform_err) 128 127 IF(lwp) WRITE(numout,*) ' key_islands inconsistent with key_dynspg_fsc' … … 131 130 ELSEIF( lk_dynspg_rl ) THEN 132 131 IF(lwp) WRITE(numout,*) 133 IF(lwp) WRITE(numout,*) ' ***Rigid lid formulation'132 IF(lwp) WRITE(numout,*) ' Rigid lid formulation' 134 133 ELSE 135 134 IF(lwp) WRITE(numout,cform_err) … … 137 136 nstop = nstop + 1 138 137 ENDIF 139 IF( lk_dynspg_fsc.AND. lk_dynspg_rl ) THEN138 IF( ( lk_dynspg_fsc .OR. lk_dynspg_fsc_tsk ) .AND. lk_dynspg_rl ) THEN 140 139 IF(lwp) WRITE(numout,cform_err) 141 140 IF(lwp) WRITE(numout,*) ' Chose between free surface or rigid-lid, not both' … … 146 145 147 146 CASE ( 1 ) ! preconditioned conjugate gradient solver 148 IF(lwp) WRITE(numout,*) ' use a preconditioned conjugate gradient solver'147 IF(lwp) WRITE(numout,*) ' a preconditioned conjugate gradient solver is used' 149 148 150 149 CASE ( 2 ) ! successive-over-relaxation solver 151 IF(lwp) WRITE(numout,*) ' use a successive-over-relaxation solver'150 IF(lwp) WRITE(numout,*) ' a successive-over-relaxation solver is used' 152 151 153 152 CASE ( 3 ) ! FETI solver 154 IF(lwp) WRITE(numout,*) ' use the FETI solver'153 IF(lwp) WRITE(numout,*) ' the FETI solver is used' 155 154 IF( .NOT.lk_mpp ) THEN 155 IF(lwp) WRITE(numout,cform_err) 156 156 IF(lwp) WRITE(numout,*) ' The FETI algorithm is used only with the key_mpp_... option' 157 157 nstop = nstop + 1 158 158 ELSE 159 159 IF( jpnij == 1 ) THEN 160 IF(lwp) WRITE(numout,cform_err) 160 161 IF(lwp) WRITE(numout,*) ' The FETI algorithm needs more than one processor' 161 162 nstop = nstop + 1 … … 194 195 195 196 196 IF( l _isl ) THEN197 IF( lk_isl ) THEN 197 198 198 199 ! Islands in the domain -
trunk/NEMO/OPA_SRC/istate.F90
r15 r79 166 166 END DO 167 167 168 ! Print 169 IF(lwp) CALL prizre(tn,jpi,jpj,jpk,jpj/2,1,jpi,5,1,jpk,1,1.,numout) 168 IF(lwp) CALL prizre( tn , jpi , jpj , jpk , jpj/2 , & 169 & 1 , jpi , 5 , 1 , jpk , & 170 & 1 , 1. , numout ) 170 171 171 172 END SUBROUTINE istate_tem … … 355 356 356 357 357 IF( l _isl ) THEN358 IF( lk_isl ) THEN 358 359 ! Horizontal velocity : start from geostrophy (EEL config) 359 360 CALL eos( tn, sn, rhd ) ! now in situ density … … 506 507 vn(:,:,:) = vb(:,:,:) 507 508 508 #if ! defined key_dynspg_fsc509 IF( l _isl ) bsfb(:,:) = bsfn(:,:) ! Put bsfb to zero509 #if defined key_dynspg_rl 510 IF( lk_isl ) bsfb(:,:) = bsfn(:,:) ! Put bsfb to zero 510 511 #endif 511 512 -
trunk/NEMO/OPA_SRC/stpctl.F90
r15 r79 62 62 WRITE(numout,*) 63 63 WRITE(numout,*) 'stp_ctl : time-stepping control' 64 WRITE(numout,*) '~~~ '64 WRITE(numout,*) '~~~~~~~' 65 65 ! open time.step file 66 66 CALL ctlopn( numstp, 'time.step', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) … … 81 81 82 82 ! Islands (if exist) 83 IF( l _isl ) CALL isl_stp_ctl( kt, kindic )83 IF( lk_isl ) CALL isl_stp_ctl( kt, kindic ) 84 84 85 85 … … 103 103 ! ------------------------ 104 104 !! zumax = MAXVAL( ABS( un(:,:,:) ) ) ! slower than the following loop on NEC SX5 105 zumax = 0. 0105 zumax = 0.e0 106 106 DO jk = 1, jpk 107 107 DO jj = 1, jpj … … 144 144 !! zsmin = MINVAL( sn(:,:,1), mask = tmask(:,:,1) == 1.e0 ) 145 145 ! slower than the following loop on NEC SX5 146 zsmin = 100. 0146 zsmin = 100.e0 147 147 DO jj = 2, jpjm1 148 148 DO ji = 1, jpi
Note: See TracChangeset
for help on using the changeset viewer.