Changeset 2958 for branches/2011/dev_r2782_NOCS_Griffies
- Timestamp:
- 2011-10-19T11:00:38+02:00 (13 years ago)
- Location:
- branches/2011/dev_r2782_NOCS_Griffies/NEMOGCM/NEMO
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2782_NOCS_Griffies/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90
r2840 r2958 127 127 !zdkt(1:jpi,1:jpj,0:1) => wrk_3d_9(:,:,1:2) 128 128 129 IF( kt == nit000 ) THEN129 IF( kt == nit000.AND..NOT.ALLOCATED(ah_wslp2) ) THEN 130 130 IF(lwp) WRITE(numout,*) 131 131 IF(lwp) WRITE(numout,*) 'tra_ldf_iso_grif : rotated laplacian diffusion operator on ', cdtype 132 IF(lwp) WRITE(numout,*) ' WARNING: STILL UNDER TEST, NOT RECOMMENDED. USE AT YOUR OWN PERIL'133 132 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 134 133 ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) -
branches/2011/dev_r2782_NOCS_Griffies/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90
r2715 r2958 103 103 104 104 ! ! add the eiv transport (if necessary) 105 IF( lk_traldf_eiv ) CALL tra_adv_eiv( kt, zun, zvn, zwn, 'TRC' ) 105 IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif ) & 106 & CALL tra_adv_eiv( kt, zun, zvn, zwn, 'TRC' ) ! add the eiv transport (if necessary) 106 107 ! 107 108 SELECT CASE ( nadv ) !== compute advection trend and add it to general trend ==! -
branches/2011/dev_r2782_NOCS_Griffies/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90
r2840 r2958 2 2 !!====================================================================== 3 3 !! *** MODULE trcldf *** 4 !! Ocean Passive tracers : lateral diffusive trends 4 !! Ocean Passive tracers : lateral diffusive trends 5 5 !!===================================================================== 6 6 !! History : 9.0 ! 2005-11 (G. Madec) Original code 7 !! NEMO 3.0 ! 2008-01 (C. Ethe, G. Madec) merge TRC-TRA 7 !! NEMO 3.0 ! 2008-01 (C. Ethe, G. Madec) merge TRC-TRA 8 8 !!---------------------------------------------------------------------- 9 9 #if defined key_top … … 23 23 USE traldf_bilap ! lateral mixing (tra_ldf_bilap routine) 24 24 USE traldf_iso ! lateral mixing (tra_ldf_iso routine) 25 USE traldf_iso_grif ! lateral mixing (tra_ldf_iso_grif routine) 25 26 USE traldf_lap ! lateral mixing (tra_ldf_lap routine) 26 27 USE trdmod_oce … … 31 32 PRIVATE 32 33 33 PUBLIC trc_ldf ! called by step.F90 34 PUBLIC trc_ldf ! called by step.F90 34 35 ! !!: ** lateral mixing namelist (nam_trcldf) ** 35 36 INTEGER :: nldf = 0 ! type of lateral diffusion used defined from ln_trcldf_... namlist logicals) … … 39 40 !!---------------------------------------------------------------------- 40 41 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 41 !! $Id$ 42 !! $Id$ 42 43 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 43 44 !!---------------------------------------------------------------------- … … 48 49 !!---------------------------------------------------------------------- 49 50 !! *** ROUTINE tra_ldf *** 50 !! 51 !! 51 52 !! ** Purpose : compute the lateral ocean tracer physics. 52 53 !! … … 61 62 IF( kt == nit000 ) CALL ldf_ctl ! initialisation & control of options 62 63 63 IF( l_trdtrc ) THEN 64 IF( l_trdtrc ) THEN 64 65 ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) ) ! temporary save of trends 65 66 ztrtrd(:,:,:,:) = tra(:,:,:,:) … … 68 69 SELECT CASE ( nldf ) ! compute lateral mixing trend and add it to the general trend 69 70 CASE ( 0 ) ; CALL tra_ldf_lap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra ) ! iso-level laplacian 70 CASE ( 1 ) ; CALL tra_ldf_iso ( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) ! rotated laplacian 71 CASE ( 1 ) 72 IF( ln_traldf_grif ) THEN 73 CALL tra_ldf_iso_grif( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 74 ELSE 75 CALL tra_ldf_iso ( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 76 ENDIF 71 77 CASE ( 2 ) ; CALL tra_ldf_bilap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra ) ! iso-level bilaplacian 72 78 CASE ( 3 ) ; CALL tra_ldf_bilapg( kt, 'TRC', trb, tra, jptra ) ! s-coord. horizontal bilaplacian … … 96 102 CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 97 103 END DO 98 DEALLOCATE( ztrtrd ) 104 DEALLOCATE( ztrtrd ) 99 105 ENDIF 100 106 ! ! print mean trends (used for debugging) … … 110 116 !!---------------------------------------------------------------------- 111 117 !! *** ROUTINE ldf_ctl *** 112 !! 118 !! 113 119 !! ** Purpose : Choice of the operator for the lateral tracer diffusion 114 120 !! 115 121 !! ** Method : set nldf from the namtra_ldf logicals 116 !! nldf == -2 No lateral diffusion 122 !! nldf == -2 No lateral diffusion 117 123 !! nldf == -1 ESOPA test: ALL operators are used 118 124 !! nldf == 0 laplacian operator … … 121 127 !! nldf == 3 Rotated bilaplacian 122 128 !!---------------------------------------------------------------------- 123 INTEGER :: ioptio, ierr ! temporary integers 129 INTEGER :: ioptio, ierr ! temporary integers 124 130 !!---------------------------------------------------------------------- 125 131 126 132 ! Define the lateral mixing oparator for tracers 127 133 ! =============================================== 128 134 129 135 ! ! control the input 130 136 ioptio = 0 … … 167 173 ENDIF 168 174 IF ( ln_zps ) THEN ! z-coordinate 169 IF ( ln_trcldf_level ) ierr = 1 ! iso-level not allowed 175 IF ( ln_trcldf_level ) ierr = 1 ! iso-level not allowed 170 176 IF ( ln_trcldf_hor ) nldf = 2 ! horizontal (no rotation) 171 177 IF ( ln_trcldf_iso ) ierr = 2 ! isoneutral ( rotation)
Note: See TracChangeset
for help on using the changeset viewer.