Changeset 637
- Timestamp:
- 2007-03-07T14:30:12+01:00 (18 years ago)
- Location:
- trunk/NEMO/OPA_SRC/TRA
- Files:
-
- 1 added
- 1 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/TRA/traadv.F90
r541 r637 15 15 USE traadv_cen2 ! 2nd order centered scheme (tra_adv_cen2 routine) 16 16 USE traadv_cen2_jki ! 2nd order centered scheme (tra_adv_cen2 routine) 17 USE traadv_tvd ! TVD scheme (tra_adv_tvd routine) 18 USE traadv_muscl ! MUSCL scheme (tra_adv_muscl routine) 19 USE traadv_muscl2 ! MUSCL2 scheme (tra_adv_muscl2 routine) 20 USE traadv_ubs ! UBS scheme (tra_adv_ubs routine) 17 USE traadv_tvd ! TVD scheme (tra_adv_tvd routine) 18 USE traadv_muscl ! MUSCL scheme (tra_adv_muscl routine) 19 USE traadv_muscl2 ! MUSCL2 scheme (tra_adv_muscl2 routine) 20 USE traadv_ubs ! UBS scheme (tra_adv_ubs routine) 21 USE traadv_qck !! QUICKEST scheme (tra_adv_qck routine) 21 22 USE traadv_eiv ! eddy induced velocity (tra_adv_eiv routine) 22 23 USE trabbl ! tracers: bottom boundary layer … … 36 37 LOGICAL, PUBLIC :: ln_traadv_muscl2 = .FALSE. ! MUSCL2 scheme flag 37 38 LOGICAL, PUBLIC :: ln_traadv_ubs = .FALSE. ! UBS scheme flag 39 LOGICAL, PUBLIC :: ln_traadv_qck = .FALSE. ! QUICKEST scheme flag 38 40 39 41 INTEGER :: nadv ! choice of the type of advection scheme … … 88 90 CASE ( 0 ) ; CALL tra_adv_cen2 ( kt, zun, zvn, zwn ) ! 2nd order centered scheme k-j-i loops 89 91 CASE ( 1 ) ; CALL tra_adv_cen2_jki( kt, zun, zvn, zwn ) ! 2nd order centered scheme 90 CASE ( 2 ) ; CALL tra_adv_tvd ( kt, zun, zvn, zwn ) ! TVD scheme 91 CASE ( 3 ) ; CALL tra_adv_muscl ( kt, zun, zvn, zwn ) ! MUSCL scheme 92 CASE ( 4 ) ; CALL tra_adv_muscl2 ( kt, zun, zvn, zwn ) ! MUSCL2 scheme 93 CASE ( 5 ) ; CALL tra_adv_ubs ( kt, zun, zvn, zwn ) ! UBS scheme 92 CASE ( 2 ) ; CALL tra_adv_tvd ( kt, zun, zvn, zwn ) ! TVD scheme 93 CASE ( 3 ) ; CALL tra_adv_muscl ( kt, zun, zvn, zwn ) ! MUSCL scheme 94 CASE ( 4 ) ; CALL tra_adv_muscl2 ( kt, zun, zvn, zwn ) ! MUSCL2 scheme 95 CASE ( 5 ) ; CALL tra_adv_ubs ( kt, zun, zvn, zwn ) ! UBS scheme 96 CASE ( 6 ) ; CALL tra_adv_qck ( kt, zun, zvn, zwn ) ! QUICKEST scheme 94 97 ! 95 98 CASE (-1 ) ! esopa: test all possibility with control print … … 111 114 ; CALL tra_adv_ubs ( kt, zun, zvn, zwn ) 112 115 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv5 - Ta: ', mask1=tmask, & 116 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 117 ; CALL tra_adv_qck ( kt, zun, zvn, zwn ) 118 ; CALL prt_ctl( tab3d_1=ta, clinfo1=' adv6 - Ta: ', mask1=tmask, & 113 119 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 114 120 END SELECT … … 129 135 INTEGER :: ioptio 130 136 131 NAMELIST/nam_traadv/ ln_traadv_cen2 , ln_traadv_tvd, & 132 & ln_traadv_muscl, ln_traadv_muscl2, ln_traadv_ubs 137 NAMELIST/nam_traadv/ ln_traadv_cen2 , ln_traadv_tvd, & 138 & ln_traadv_muscl, ln_traadv_muscl2, & 139 & ln_traadv_ubs , ln_traadv_qck 133 140 !!---------------------------------------------------------------------- 134 141 … … 146 153 WRITE(numout,*) ' MUSCL2 advection scheme ln_traadv_muscl2 = ', ln_traadv_muscl2 147 154 WRITE(numout,*) ' UBS advection scheme ln_traadv_ubs = ', ln_traadv_ubs 148 ENDIF 155 WRITE(numout,*) ' QUICKEST advection scheme ln_traadv_qck = ', ln_traadv_qck 156 ENDIF 149 157 150 158 ioptio = 0 ! Parameter control … … 154 162 IF( ln_traadv_muscl2 ) ioptio = ioptio + 1 155 163 IF( ln_traadv_ubs ) ioptio = ioptio + 1 164 IF( ln_traadv_qck ) ioptio = ioptio + 1 156 165 IF( lk_esopa ) ioptio = 1 157 166 … … 170 179 IF( ln_traadv_muscl2 ) nadv = 4 171 180 IF( ln_traadv_ubs ) nadv = 5 181 IF( ln_traadv_qck ) nadv = 6 172 182 IF( lk_esopa ) nadv = -1 173 183 … … 180 190 IF( nadv == 4 ) WRITE(numout,*) ' MUSCL2 scheme is used' 181 191 IF( nadv == 5 ) WRITE(numout,*) ' UBS scheme is used' 192 IF( nadv == 6 ) WRITE(numout,*) ' PPM scheme is used' 193 IF( nadv == 7 ) WRITE(numout,*) ' QUICKEST scheme is used' 182 194 IF( nadv == -1 ) WRITE(numout,*) ' esopa test: use all advection scheme' 183 195 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.