- Timestamp:
- 2015-07-16T11:04:29+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90
r2787 r5601 16 16 USE trc 17 17 USE trcsms_my_trc 18 USE dom_oce, ONLY : gdepw_1d,e3t_1d,nyear_len 18 19 19 20 IMPLICIT NONE … … 44 45 IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: initialisation of MY_TRC model' 45 46 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 47 48 nlb_age = MINLOC( gdepw_1d, mask = gdepw_1d > age_depth, dim = 1 ) 49 nl_age = nlb_age - 1 50 nla_age = nl_age - 1 51 frac_kill_age = (age_depth - gdepw_1d(nl_age))/e3t_1d(nl_age) 52 frac_add_age = 1._wp - frac_kill_age 53 rryear = 1._wp / ( nyear_len(1) * rday ) 54 46 55 56 IF( .NOT. ln_rsttr ) trb(:,:,:,jp_myt0:jp_myt1) = 0. 47 57 IF( .NOT. ln_rsttr ) trn(:,:,:,jp_myt0:jp_myt1) = 0. 48 58 ! -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90
r4990 r5601 25 25 PUBLIC trc_sms_my_trc_alloc ! called by trcini_my_trc.F90 module 26 26 27 INTEGER , PUBLIC :: nl_age ! T level surrounding age_depth 28 INTEGER , PUBLIC :: nla_age ! T level wholly above age_depth 29 INTEGER , PUBLIC :: nlb_age ! T level wholly below age_depth 30 31 REAL(wp), PUBLIC :: rryear !: recip number of seconds in one year 32 REAL(wp), PUBLIC :: age_depth = 10. !: depth over which age tracer reset to zero 33 REAL(wp), PUBLIC :: age_kill_rate = -1./7200. !: recip of relaxation timescale (s) for age tracer shallower than age_depth 34 REAL(wp), PUBLIC :: frac_kill_age !: fraction of level nl_age above age_depth where it is relaxed towards zero 35 REAL(wp), PUBLIC :: frac_add_age !: fraction of level nl_age below age_depth where it is incremented 36 37 27 38 ! Defined HERE the arrays specific to MY_TRC sms and ALLOCATE them in trc_sms_my_trc_alloc 28 39 … … 44 55 ! 45 56 INTEGER, INTENT(in) :: kt ! ocean time-step index 46 INTEGER :: jn ! dummy loop index57 INTEGER :: jn, jk ! dummy loop index 47 58 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrmyt 48 59 !!---------------------------------------------------------------------- … … 56 67 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk, ztrmyt ) 57 68 58 WHERE( (glamt <= 170) .AND. (glamt >= 160) .AND. (gphit <= -74) .AND. (gphit >=-75.6) ) 59 trn(:,:,1,jpmyt1) = 1._wp 60 trb(:,:,1,jpmyt1) = 1._wp 61 tra(:,:,1,jpmyt1) = 0._wp 62 END WHERE 63 69 DO jk = 1, nla_age 70 tra(:,:,jk,jpmyt1) = age_kill_rate * trb(:,:,jk,jpmyt1) 71 ENDDO 72 ! 73 tra(:,:,nl_age,jpmyt1) = frac_kill_age * age_kill_rate * trb(:,:,nl_age,jpmyt1) & 74 & + frac_add_age * rryear * tmask(:,:,nl_age) 75 ! 76 DO jk = nlb_age, jpk 77 tra(:,:,jk,jpmyt1) = tmask(:,:,jk) * rryear 78 ENDDO 79 ! 64 80 IF( l_trdtrc ) THEN ! Save the trends in the ixed layer 65 81 DO jn = jp_myt0, jp_myt1 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcwri_my_trc.F90
r5105 r5601 14 14 USE trc ! passive tracers common variables 15 15 USE oce_trc 16 USE crs, ONLY : ln_crs 16 USE crs, ONLY : ln_crs,ln_crs_top,ahtt_crs,ahtu_crs,ahtv_crs,ahtw_crs,jpi_crs,jpj_crs 17 USE iom, ONLY : iom_swap, iom_put 17 18 18 19 IMPLICIT NONE … … 33 34 INTEGER :: jn 34 35 !!--------------------------------------------------------------------- 35 IF( ln_crs ) CALL iom_swap( "nemo_crs" ) 36 IF( ln_crs_top ) CALL iom_swap( "nemo_crs" ) 37 38 CALL iom_put("ahtt_crs",ahtt_crs) 39 CALL iom_put("ahtu_crs",ahtu_crs) 40 CALL iom_put("ahtv_crs",ahtv_crs) 41 CALL iom_put("ahtw_crs",ahtw_crs) 42 36 43 37 44 ! write the tracer concentrations in the file … … 40 47 cltra = TRIM( ctrcnm(jn) ) ! short title for tracer 41 48 IF( lk_vvl ) THEN 42 CALL iom_put( cltra, trn(:,:,:,jn) * fse3t_n(:,:,:) )49 CALL iom_put( TRIM(cltra), trn(:,:,:,jn) * fse3t_n(:,:,:) ) 43 50 ELSE 44 51 CALL iom_put( TRIM(cltra), trn(:,:,:,jn) ) … … 46 53 END DO 47 54 ! 48 IF( ln_crs ) CALL iom_swap( "nemo" )55 IF( ln_crs_top ) CALL iom_swap( "nemo" ) 49 56 ! 50 57 END SUBROUTINE trc_wri_my_trc -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90
r4610 r5601 16 16 USE oce_trc ! ocean dynamics and active tracers 17 17 USE trc ! ocean passive tracers variables 18 USe domvvl 18 19 USE trcnam_trp ! passive tracers transport namelist variables 19 20 USE traadv_cen2 ! 2nd order centered scheme (tra_adv_cen2 routine) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl_crs.F90
r5105 r5601 25 25 USE trabbl_crs ! 26 26 USE prtctl_trc ! Print control for debbuging 27 USE trd mod_oce27 USE trd_oce 28 28 USE trdtra 29 29 … … 95 95 DO jn = 1, jptra 96 96 ztrtrd(:,:,:,jn) = tra(:,:,:,jn) - ztrtrd(:,:,:,jn) 97 CALL trd_tra( kt, 'TRC', jn, jptra_ trd_ldf, ztrtrd(:,:,:,jn) )97 CALL trd_tra( kt, 'TRC', jn, jptra_ldf, ztrtrd(:,:,:,jn) ) 98 98 END DO 99 99 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) ! temporary save of trends -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf_crs.F90
r5105 r5601 25 25 USE traldf_iso_grif ! lateral mixing (tra_ldf_iso_grif routine) 26 26 USE traldf_lap_crs ! lateral mixing (tra_ldf_lap routine) 27 USE trd mod_oce27 USE trd_oce 28 28 USE trdtra 29 29 USE prtctl_trc ! Print control … … 83 83 CALL tra_ldf_iso_crs ( kt, nittrc000, 'TRC', gtru ,gtrv , trb, tra, jptra, rn_ahtb_0 ) 84 84 ENDIF 85 CASE ( 2 ) ; CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra ) ! iso-level bilaplacian85 CASE ( 2 ) ; CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra ) ! iso-level bilaplacian 86 86 CASE ( 3 ) ; CALL tra_ldf_bilapg( kt, nittrc000, 'TRC', trb, tra, jptra ) ! s-coord. horizontal bilaplacian 87 87 ! … … 97 97 WRITE(charout, FMT="('ldf1 ')") ; CALL prt_ctl_trc_info(charout) 98 98 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 99 CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra )99 CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra ) 100 100 WRITE(charout, FMT="('ldf2 ')") ; CALL prt_ctl_trc_info(charout) 101 101 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) … … 108 108 DO jn = 1, jptra 109 109 ztrtrd(:,:,:,jn) = tra(:,:,:,jn) - ztrtrd(:,:,:,jn) 110 CALL trd_tra( kt, 'TRC', jn, jptra_ trd_ldf, ztrtrd(:,:,:,jn) )110 CALL trd_tra( kt, 'TRC', jn, jptra_ldf, ztrtrd(:,:,:,jn) ) 111 111 END DO 112 112 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r4990 r5601 95 95 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! save trends 96 96 ! ! add the trend to the general tracer trend 97 DO jj = 2, jpj 98 DO ji = fs_2, fs_jpim1 ! vector opt. 99 zse3t = 1. / fse3t(ji,jj,1) 100 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) * zsrau * trn(ji,jj,1,jn) * zse3t 97 IF( lk_vvl ) THEN ! online coupling with vvl 98 99 100 DO jj = 2, jpj 101 DO ji = fs_2, fs_jpim1 ! vector opt. 102 zse3t = 1. / fse3t(ji,jj,1) 103 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) * zsrau * trn(ji,jj,1,jn) * zse3t 104 END DO 101 105 END DO 102 END DO 103 106 ELSE 107 DO jj = 2, jpj 108 DO ji = fs_2, fs_jpim1 ! vector opt. 109 zse3t = 1. / fse3t(ji,jj,1) 110 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) * zsrau * trn(ji,jj,1,jn) * zse3t 111 END DO 112 END DO 113 ENDIF 114 104 115 IF( l_trdtrc ) THEN 105 116 ztrtrd(:,:,:) = tra(:,:,:,jn) - ztrtrd(:,:,:) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc_crs.F90
r5105 r5601 19 19 USE trc ! ocean passive tracers variables 20 20 USE prtctl_trc ! Print control for debbuging 21 USE trd mod_oce21 USE trd_oce 22 22 USE trdtra 23 23 !cbr USE crs … … 101 101 IF( l_trdtrc ) THEN 102 102 ztrtrd(:,:,:) = tra(:,:,:,jn) - ztrtrd(:,:,:) 103 CALL trd_tra( kt, 'TRC', jn, jptra_ trd_nsr, ztrtrd )103 CALL trd_tra( kt, 'TRC', jn, jptra_nsr, ztrtrd ) 104 104 END IF 105 105 ! ! =========== -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90
r5105 r5601 35 35 USE zpshde_crs ! partial step: hor. derivative (zps_hde routine) 36 36 USE dom_oce , ONLY : ln_crs 37 USe crs, ONLY : jpi_crs,jpj_crs,wn_crs !cbr 37 USE crs , ONLY : jpi_crs,jpj_crs,wn_crs,ln_crs_top !cbr 38 USE ldfslp_crs 38 39 39 40 #if defined key_agrif … … 75 76 IF( .NOT. lk_c1d ) THEN 76 77 ! 77 ! CALL test(kstp,1) 78 ! IF( ln_crs ) THEN ; CALL trc_sbc_crs( kstp ) 79 ! ELSE ; CALL trc_sbc( kstp ) 80 ! ENDIF 81 ! CALL test(kstp,2) 82 IF( ln_crs ) THEN ; CALL trc_bbl_crs( kstp ) 78 IF( ln_crs_top ) THEN ; CALL trc_sbc_crs( kstp ) 79 ELSE ; CALL trc_sbc( kstp ) 80 ENDIF 81 IF( ln_crs_top ) THEN ; CALL trc_bbl_crs( kstp ) 83 82 ELSE ; CALL trc_bbl( kstp ) 84 83 ENDIF 85 84 IF( ln_trcdmp ) CALL trc_dmp( kstp ) ! internal damping trends 86 ! CALL test(kstp,3)87 85 88 IF( ln_crs ) THEN ; CALL trc_adv_crs( kstp )86 IF( ln_crs_top ) THEN ; CALL trc_adv_crs( kstp ) 89 87 ELSE ; CALL trc_adv( kstp ) 90 88 ENDIF 91 ! CALL test(kstp,4)92 89 93 90 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kstp ) ! internal damping trends on closed seas only 94 IF( ln_crs ) THEN ; CALL trc_ldf_crs( kstp )91 IF( ln_crs_top ) THEN ; CALL trc_ldf_crs( kstp ) 95 92 ELSE ; CALL trc_ldf( kstp ) 96 93 ENDIF 97 ! CALL test(kstp,5)98 94 IF( .NOT. lk_offline .AND. lk_zdfkpp ) & 99 95 & CALL trc_kpp( kstp ) ! KPP non-local tracer fluxes … … 101 97 IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_trc ! tracers sponge 102 98 #endif 103 IF( ln_crs ) THEN ; CALL trc_zdf_crs( kstp )99 IF( ln_crs_top ) THEN ; CALL trc_zdf_crs( kstp ) 104 100 ELSE ; CALL trc_zdf( kstp ) 105 101 ENDIF 106 ! CALL test(kstp,6)107 102 CALL trc_nxt( kstp ) ! tracer fields at next time step 108 ! CALL test(kstp,7)109 103 IF( ln_trcrad ) CALL trc_rad( kstp ) ! Correct artificial negative concentrations 110 104 … … 112 106 IF( .NOT. Agrif_Root()) CALL Agrif_Update_Trc( kstp ) ! Update tracer at AGRIF zoom boundaries : children only 113 107 #endif 114 IF( ln_zps ) CALL zps_hde( kstp, jptra, trn, gtru, gtrv )! Partial steps: now horizontal gradient of passive108 ! Partial steps: now horizontal gradient of passive 115 109 IF( ln_zps )THEN 116 IF( ln_crs ) THEN ; CALL zps_hde_crs( kstp, jptra, trn, gtru, gtrv )117 ELSE ; CALL zps_hde( kstp, jptra, trn, gtru, gtrv)110 IF( ln_crs_top ) THEN ; CALL zps_hde_crs( kstp, jptra, trn, gtru, gtrv ) 111 ELSE ; CALL zps_hde( kstp, jptra, trn, pgtu=gtru, pgtv=gtrv, sgtu=gtrui, sgtv=gtrvi ) 118 112 ENDIF 119 113 ENDIF … … 136 130 INTEGER,INTENT(IN) :: kt,i 137 131 REAL(wp)::zmin,zmax 138 INTEGER :: ji,jj,jk132 INTEGER :: ii,jj,kk 139 133 zmin=MINVAL( trb(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_min(zmin) 140 134 zmax=MAXVAL( trb(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_max(zmax) … … 146 140 zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_max(zmax) 147 141 IF(lwp)WRITE(numout,*)"trctrp a ",kt,i,zmin,zmax 148 zmin=MINVAL( trn(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_min(zmin) 149 zmax=MAXVAL( trn(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_max(zmax) 150 IF(lwp)WRITE(numout,*)"trctrp n ",kt,i,zmin,zmax 151 zmin=MINVAL( tra(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_min(zmin) 152 zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,1:jpk-1,1),mask=(tmask(2:jpi-1,2:jpj-1,1:jpk-1)==1)) ; CALL mpp_max(zmax) 153 IF(lwp)WRITE(numout,*)"trctrp a ",kt,i,zmin,zmax 142 zmin=MINVAL( tra(2:jpi-1,2:jpj-1,30,1),mask=(tmask(2:jpi-1,2:jpj-1,30)==1)) ; CALL mpp_min(zmin) 143 zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,30,1),mask=(tmask(2:jpi-1,2:jpj-1,30)==1)) ; CALL mpp_max(zmax) 154 144 155 IF(narea==267)WRITE(narea+5000,*)"tra(17,5,74,1) = ",kt,i,tra(17,5,74,1)156 157 DO ji=1,jpi158 DO jj=1,jpj159 DO jk=1,jpk160 IF( tra(ji,jj,jk,1) .NE. tra(ji,jj,jk,1) )WRITE(narea+200,*)"BUG7 ",ji,jj,jk, tra(ji,jj,jk,1); CALL FLUSH(narea+200)161 ENDDO162 ENDDO163 ENDDO164 165 145 END SUBROUTINE test 166 146 #else -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf_crs.F90
r5105 r5601 19 19 USE trazdf_exp ! vertical diffusion: explicit (tra_zdf_exp routine) 20 20 USE trazdf_imp_crs ! vertical diffusion: implicit (tra_zdf_imp routine) 21 USE trd mod_oce21 USE trd_oce 22 22 USE trdtra 23 23 USE prtctl_trc ! Print control 24 USE timing 24 25 25 26 IMPLICIT NONE … … 72 73 ! 73 74 IF( kt == nittrc000 ) CALL zdf_ctl ! initialisation & control of options 74 75 #if ! defined key_pisces 76 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 77 r2dt(:) = rdttrc(:) ! = rdttrc (restarting with Euler time stepping) 78 ELSEIF( kt <= nittrc000 + 1 ) THEN ! at nittrc000 or nittrc000+1 79 r2dt(:) = 2. * rdttrc(:) ! = 2 rdttrc (leapfrog) 75 !cbr bug 76 !#if ! defined key_pisces 77 ! IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 78 ! r2dt(:) = rdttrc(:) ! = rdttrc (restarting with Euler time stepping) 79 ! ELSEIF( kt <= nittrc000 + 1 ) THEN ! at nittrc000 or nittrc000+1 80 ! r2dt(:) = 2. * rdttrc(:) ! = 2 rdttrc (leapfrog) 81 ! ENDIF 82 !#else 83 ! r2dt(:) = rdttrc(:) ! = rdttrc (for PISCES use Euler time stepping) 84 !#endif 85 IF( ln_top_euler) THEN 86 r2dt(:) = rdttrc(:) ! = rdttrc (use Euler time stepping) 87 ELSE 88 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 89 r2dt(:) = rdttrc(:) ! = rdttrc (restarting with Euler time stepping) 90 ELSEIF( kt <= nittrc000 + 1 ) THEN ! at nittrc000 or nittrc000+1 91 r2dt(:) = 2. * rdttrc(:) ! = 2 rdttrc (leapfrog) 92 ENDIF 80 93 ENDIF 81 #else82 r2dt(:) = rdttrc(:) ! = rdttrc (for PISCES use Euler time stepping)83 #endif84 94 85 95 IF( l_trdtrc ) THEN … … 98 108 CASE ( 0 ) ; CALL tra_zdf_exp( kt, nittrc000, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra ) ! explicit scheme 99 109 CASE ( 1 ) ; CALL tra_zdf_imp_crs( kt, nittrc000, 'TRC', r2dt, trb, tra, jptra ) ! implicit scheme 100 101 110 END SELECT 102 111 … … 106 115 ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 107 116 END DO 108 CALL trd_tra( kt, 'TRC', jn, jptra_ trd_zdf, ztrtrd(:,:,:,jn) )117 CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 109 118 END DO 110 119 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90
r5105 r5601 142 142 USE oce , ONLY : tsa => tsa !: 4D array contaning ( ta, sa ) 143 143 USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3) 144 USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 144 USE crs , ONLY : rhd => rhd_crs !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 145 USE crs , ONLY : rn2b => rb2_crs !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 146 USE crs , ONLY : rab_n => rab_crs_n !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 145 147 USE crs , ONLY : hdivn => hdivn_crs !: horizontal divergence (1/s) 146 148 USE crs , ONLY : hdivb => hdivb_crs !: horizontal divergence (1/s) … … 160 162 USE crs , ONLY : rnf => rnf_crs !: river runoff [Kg/m2/s] 161 163 USE crs , ONLY : fr_i => fr_i_crs !: ice fraction (between 0 to 1) 164 USE trcnam_trp , ONLY : aht0 => rn_ahtrc_0 !: horizontal eddy diffusivity for tracers (m2/s) 165 USE crs , ONLY : ahtu => ahtu_crs !: lateral diffusivity coef. at u-points 166 USE crs , ONLY : ahtv => ahtv_crs !: lateral diffusivity coef. at v-points 167 USE crs , ONLY : ahtw => ahtw_crs !: lateral diffusivity coef. at w-points 168 USE crs , ONLY : ahtt => ahtt_crs !: lateral diffusivity coef. at t-points 169 USE ldftra_oce , ONLY : rldf => rldf 162 170 163 171 USE crs , ONLY : avt => avt_crs !: vert. diffusivity coef. at w-point for temp … … 177 185 !* direction of lateral diffusion * 178 186 #if defined key_ldfslp 179 USE ldfslp_crs , ONLY : uslp => uslp_crs !: i-direction slope at u-, w-points180 USE ldfslp_crs , ONLY : vslp => vslp_crs !: j-direction slope at v-, w-points181 USE ldfslp_crs , ONLY : wslpi => wslpi_crs !: i-direction slope at u-, w-points182 USE ldfslp_crs , ONLY : wslpj => wslpj_crs !: j-direction slope at v-, w-points187 USE crs , ONLY : uslp => uslp_crs !: i-direction slope at u-, w-points 188 USE crs , ONLY : vslp => vslp_crs !: j-direction slope at v-, w-points 189 USE crs , ONLY : wslpi => wslpi_crs !: i-direction slope at u-, w-points 190 USE crs , ONLY : wslpj => wslpj_crs !: j-direction slope at v-, w-points 183 191 #endif 184 192 … … 318 326 USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3) 319 327 USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 328 USE oce , ONLY : rab_n => rab_n !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 329 USE oce , ONLY : rn2b => rn2b !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 320 330 USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) 321 331 USE oce , ONLY : rotn => rotn !: relative vorticity [s-1] -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r5105 r5601 94 94 cvol(:,:,jk) = e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk) 95 95 END DO 96 IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:) ! degrad option: reduction by facvol96 !cbr IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:) ! degrad option: reduction by facvol 97 97 ! ! total volume of the ocean 98 98 areatot = glob_sum( cvol(:,:,:) ) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
r5105 r5601 66 66 cvol(:,:,jk) = e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk) 67 67 END DO 68 IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:) ! degrad option: reduction by facvol68 !cbr IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:) ! degrad option: reduction by facvol 69 69 areatot = glob_sum( cvol(:,:,:) ) 70 70 ENDIF -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcsub.F90
r5105 r5601 14 14 USE prtctl_trc ! Print control for debbuging 15 15 USE iom, ONLY : jpnf90 16 USE i n_out_manager, ONLY : jprstlib16 USE iom_def, ONLY : jprstlib 17 17 USE lbclnk 18 18 !#if defined key_zdftke … … 112 112 sshn_tm (:,:) = sshn_tm (:,:) + sshn (:,:) 113 113 rnf_tm (:,:) = rnf_tm (:,:) + rnf (:,:) 114 h_rnf_tm (:,:) = h_rnf_tm (:,:) + h_rnf (:,:)114 !cbr h_rnf_tm (:,:) = h_rnf_tm (:,:) + h_rnf (:,:) 115 115 hmld_tm (:,:) = hmld_tm (:,:) + hmld (:,:) 116 116 fr_i_tm (:,:) = fr_i_tm (:,:) + fr_i (:,:) … … 151 151 ssha_temp (:,:) = ssha (:,:) 152 152 rnf_temp (:,:) = rnf (:,:) 153 h_rnf_temp (:,:) = h_rnf (:,:)153 !cbr h_rnf_temp (:,:) = h_rnf (:,:) 154 154 hmld_temp (:,:) = hmld (:,:) 155 155 fr_i_temp (:,:) = fr_i (:,:) … … 197 197 sshn_tm (:,:) = sshn_tm (:,:) + sshn (:,:) 198 198 rnf_tm (:,:) = rnf_tm (:,:) + rnf (:,:) 199 h_rnf_tm (:,:) = h_rnf_tm (:,:) + h_rnf (:,:)199 !cbr h_rnf_tm (:,:) = h_rnf_tm (:,:) + h_rnf (:,:) 200 200 hmld_tm (:,:) = hmld_tm (:,:) + hmld (:,:) 201 201 fr_i_tm (:,:) = fr_i_tm (:,:) + fr_i (:,:) … … 208 208 sshb (:,:) = sshb_hold (:,:) 209 209 rnf (:,:) = rnf_tm (:,:) * r1_ndttrcp1 210 h_rnf (:,:) = h_rnf_tm (:,:) * r1_ndttrcp1210 !cbr h_rnf (:,:) = h_rnf_tm (:,:) * r1_ndttrcp1 211 211 hmld (:,:) = hmld_tm (:,:) * r1_ndttrcp1 212 212 ! variables that are initialized after averages … … 320 320 sshn_tm (:,:) = sshn (:,:) 321 321 rnf_tm (:,:) = rnf (:,:) 322 h_rnf_tm (:,:) = h_rnf (:,:)322 !cbr h_rnf_tm (:,:) = h_rnf (:,:) 323 323 hmld_tm (:,:) = hmld (:,:) 324 324 … … 379 379 ssha (:,:) = ssha_temp (:,:) 380 380 rnf (:,:) = rnf_temp (:,:) 381 h_rnf (:,:) = h_rnf_temp (:,:)381 !cbr h_rnf (:,:) = h_rnf_temp (:,:) 382 382 ! 383 383 hmld (:,:) = hmld_temp (:,:) … … 428 428 sshn_tm (:,:) = sshn (:,:) 429 429 rnf_tm (:,:) = rnf (:,:) 430 h_rnf_tm (:,:) = h_rnf (:,:)430 !cbr h_rnf_tm (:,:) = h_rnf (:,:) 431 431 hmld_tm (:,:) = hmld (:,:) 432 432 fr_i_tm (:,:) = fr_i (:,:)
Note: See TracChangeset
for help on using the changeset viewer.