Changeset 786 for branches/dev_001_GM/NEMO/OPA_SRC/TRA/traadv.F90
- Timestamp:
- 2008-01-10T18:11:23+01:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_GM/NEMO/OPA_SRC/TRA/traadv.F90
r719 r786 14 14 USE dom_oce ! ocean space and time domain 15 15 USE traadv_cen2 ! 2nd order centered scheme (tra_adv_cen2 routine) 16 USE traadv_cen2_jki ! 2nd order centered scheme (tra_adv_cen2 routine)17 16 USE traadv_tvd ! TVD scheme (tra_adv_tvd routine) 18 17 USE traadv_muscl ! MUSCL scheme (tra_adv_muscl routine) … … 24 23 USE ldftra_oce ! lateral diffusion coefficient on tracers 25 24 USE in_out_manager ! I/O manager 26 25 ! USE prtctl ! Print control 27 26 28 27 IMPLICIT NONE … … 88 87 89 88 SELECT CASE ( nadv ) ! compute advection trend and add it to general trend 90 CASE ( 0 ) ; CALL tra_adv_cen2 ( kt, zun, zvn, zwn ) ! 2nd order centered scheme k-j-i loops 91 CASE ( 1 ) ; CALL tra_adv_cen2_jki( kt, zun, zvn, zwn ) ! 2nd order centered 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 89 CASE ( 0 ) ; CALL tra_adv_cen2 ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! 2nd order centered 90 CALL tra_adv_cen2 ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! 2nd order centered 91 ! CASE ( 1 ) ; CALL tra_adv_cen2_jki( kt, zun, zvn, zwn ) ! 2nd order centered scheme 92 CASE ( 2 ) ; CALL tra_adv_tvd ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! TVD scheme 93 CALL tra_adv_tvd ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! TVD scheme 94 CASE ( 3 ) ; CALL tra_adv_muscl ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb , ta ) ! MUSCL scheme 95 CALL tra_adv_muscl ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb , sa ) ! MUSCL scheme 96 CASE ( 4 ) ; CALL tra_adv_muscl2 ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! MUSCL2 scheme 97 CALL tra_adv_muscl2 ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! MUSCL2 scheme 98 CASE ( 5 ) ; CALL tra_adv_ubs ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! UBS scheme 99 CALL tra_adv_ubs ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! UBS scheme 100 CASE ( 6 ) ; CALL tra_adv_qck ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! QUICKEST scheme 101 CALL tra_adv_qck ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! QUICKEST scheme 97 102 ! 98 103 CASE (-1 ) ! esopa: test all possibility with control print 99 CALL tra_adv_cen2 ( kt, zun, zvn, zwn ) 100 CALL prt_ctl( tab3d_1=ta, clinfo1=' adv0 - Ta: ', mask1=tmask, & 101 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 102 CALL tra_adv_cen2_jki( kt, zun, zvn, zwn ) 103 CALL prt_ctl( tab3d_1=ta, clinfo1=' adv1 - Ta: ', mask1=tmask, & 104 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 105 CALL tra_adv_tvd ( kt, zun, zvn, zwn ) 106 CALL prt_ctl( tab3d_1=ta, clinfo1=' adv2 - Ta: ', mask1=tmask, & 107 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 108 CALL tra_adv_muscl ( kt, zun, zvn, zwn ) 109 CALL prt_ctl( tab3d_1=ta, clinfo1=' adv3 - Ta: ', mask1=tmask, & 110 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 111 CALL tra_adv_muscl2 ( kt, zun, zvn, zwn ) 112 CALL prt_ctl( tab3d_1=ta, clinfo1=' adv4 - Ta: ', mask1=tmask, & 113 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 114 CALL tra_adv_ubs ( kt, zun, zvn, zwn ) 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, & 119 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 104 CALL tra_adv_cen2 ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! 2nd order centered 105 CALL tra_adv_cen2 ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! 2nd order centered 106 CALL tra_adv_tvd ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! TVD scheme 107 CALL tra_adv_tvd ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! TVD scheme 108 CALL tra_adv_muscl ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb , ta ) ! MUSCL scheme 109 CALL tra_adv_muscl ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb , sa ) ! MUSCL scheme 110 CALL tra_adv_muscl2 ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! MUSCL2 scheme 111 CALL tra_adv_muscl2 ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! MUSCL2 scheme 112 CALL tra_adv_ubs ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! UBS scheme 113 CALL tra_adv_ubs ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! UBS scheme 114 CALL tra_adv_qck ( kt, 'TRA', jp_tem, zun, zvn, zwn, tb, tn, ta ) ! QUICKEST scheme 115 CALL tra_adv_qck ( kt, 'TRA', jp_sal, zun, zvn, zwn, sb, sn, sa ) ! QUICKEST scheme 120 116 END SELECT 121 ! ! print mean trends (used for debugging)122 IF(ln_ctl) CALL prt_ctl( tab3d_1=ta, clinfo1=' adv - Ta: ', mask1=tmask, &123 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )124 117 ! 125 118 END SUBROUTINE tra_adv
Note: See TracChangeset
for help on using the changeset viewer.