Changeset 2082 for branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC
- Timestamp:
- 2010-09-10T12:32:58+02:00 (14 years ago)
- Location:
- branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/C14b/trcsms_c14b.F90
r2038 r2082 234 234 ! Computation of solubility 235 235 IF (tmask(ji,jj,1) > 0.) THEN 236 ztp = ( t n(ji,jj,1) + 273.16 ) * 0.01236 ztp = ( tsn(ji,jj,1,jp_tem) + 273.16 ) * 0.01 237 237 zsk = 0.023517 + ztp * ( -0.023656 + 0.0047036 * ztp ) 238 zsol = EXP( -60.2409 + 93.4517 / ztp + 23.3585 * LOG( ztp ) + zsk * sn(ji,jj,1) )238 zsol = EXP( -60.2409 + 93.4517 / ztp + 23.3585 * LOG( ztp ) + zsk * tsn(ji,jj,1,jp_sal) ) 239 239 ! convert solubilities [mol/(l * atm)] -> [mol/(m^3 * ppm)] 240 240 zsol = zsol * 1.0e-03 … … 247 247 248 248 ! Computes the Schmidt number of CO2 in seawater 249 zt = t n(ji,jj,1)249 zt = tsn(ji,jj,1,jp_tem) 250 250 zsch = 2073.1 + zt * ( -125.62 + zt * (3.6276 - 0.043219 * zt ) ) 251 251 -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r2052 r2082 129 129 ! coefficient for solubility for CFC-11/12 in mol/l/atm 130 130 IF( tmask(ji,jj,1) .GE. 0.5 ) THEN 131 ztap = ( t n(ji,jj,1) + 273.16 ) * 0.01131 ztap = ( tsn(ji,jj,1,jp_tem) + 273.16 ) * 0.01 132 132 zdtap = sob(1,jl) + ztap * ( sob(2,jl) + ztap * sob(3,jl) ) 133 133 zsol = EXP( soa(1,jl) + soa(2,jl) / ztap + soa(3,jl) * LOG( ztap ) & 134 & + soa(4,jl) * ztap * ztap + sn(ji,jj,1) * zdtap )134 & + soa(4,jl) * ztap * ztap + tsn(ji,jj,1,jp_sal) * zdtap ) 135 135 ELSE 136 136 zsol = 0.e0 … … 143 143 ! Computation of speed transfert 144 144 ! Schmidt number 145 zt1 = t n(ji,jj,1)145 zt1 = tsn(ji,jj,1,jp_tem) 146 146 zt2 = zt1 * zt1 147 147 zt3 = zt1 * zt2 -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/LOBSTER/trcbio.F90
r2038 r2082 81 81 !!--------------------------------------------------------------------- 82 82 83 IF( kt == nit 000 ) THEN83 IF( kt == nittrc000 ) THEN 84 84 IF(lwp) WRITE(numout,*) 85 85 IF(lwp) WRITE(numout,*) ' trc_bio: LOBSTER bio-model' -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/LOBSTER/trcexp.F90
r2038 r2082 60 60 !!--------------------------------------------------------------------- 61 61 62 IF( kt == nit 000 ) THEN62 IF( kt == nittrc000 ) THEN 63 63 IF(lwp) WRITE(numout,*) 64 64 IF(lwp) WRITE(numout,*) ' trc_exp: LOBSTER export' -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/LOBSTER/trcopt.F90
r2038 r2082 65 65 !!--------------------------------------------------------------------- 66 66 67 IF( kt == nit 000 ) THEN67 IF( kt == nittrc000 ) THEN 68 68 IF(lwp) WRITE(numout,*) 69 69 IF(lwp) WRITE(numout,*) ' trc_opt : LOBSTER optic-model' -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r2038 r2082 67 67 !!--------------------------------------------------------------------- 68 68 69 IF( kt == nit 000 ) THEN69 IF( kt == nittrc000 ) THEN 70 70 IF(lwp) WRITE(numout,*) 71 71 IF(lwp) WRITE(numout,*) ' trc_sed: LOBSTER sedimentation' -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zche.F90
r1953 r2082 181 181 182 182 ! ! SET ABSOLUTE TEMPERATURE 183 ztkel = t n(ji,jj,1) + 273.16183 ztkel = tsn(ji,jj,1,jp_tem) + 273.16 184 184 zqtt = ztkel * 0.01 185 185 zqtt2 = zqtt * zqtt 186 zsal = sn(ji,jj,1) + (1.- tmask(ji,jj,1) ) * 35.186 zsal = tsn(ji,jj,1,jp_sal) + (1.- tmask(ji,jj,1) ) * 35. 187 187 zlqtt = LOG( zqtt ) 188 188 … … 214 214 215 215 ! SET ABSOLUTE TEMPERATURE 216 ztkel = t n(ji,jj,jk) + 273.16216 ztkel = tsn(ji,jj,jk,jp_tem) + 273.16 217 217 zqtt = ztkel * 0.01 218 zsal = sn(ji,jj,jk) + ( 1.-tmask(ji,jj,jk) ) * 35.218 zsal = tsn(ji,jj,jk,jp_sal) + ( 1.-tmask(ji,jj,jk) ) * 35. 219 219 zsqrt = SQRT( zsal ) 220 220 zsal15 = zsqrt * zsal … … 224 224 zis2 = zis * zis 225 225 zisqrt = SQRT( zis ) 226 ztc = t n(ji,jj,jk) + ( 1.- tmask(ji,jj,jk) ) * 20.226 ztc = tsn(ji,jj,jk,jp_tem) + ( 1.- tmask(ji,jj,jk) ) * 20. 227 227 228 228 ! CHLORINITY (WOOSTER ET AL., 1969) -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zflx.F90
r2038 r2082 128 128 !CDIR NOVERRCHK 129 129 DO ji = 1, jpi 130 ztc = MIN( 35., t n(ji,jj,1) )130 ztc = MIN( 35., tsn(ji,jj,1,jp_tem) ) 131 131 ztc2 = ztc * ztc 132 132 ztc3 = ztc * ztc2 -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zint.F90
r1753 r2082 55 55 ! ------------------------------------------- 56 56 57 tgfunc (:,:,:) = EXP( 0.063913 * t n(:,:,:) )58 tgfunc2(:,:,:) = EXP( 0.07608 * t n(:,:,:) )57 tgfunc (:,:,:) = EXP( 0.063913 * tsn(:,:,:,jp_tem) ) 58 tgfunc2(:,:,:) = EXP( 0.07608 * tsn(:,:,:,jp_tem) ) 59 59 60 60 ! Computation of the silicon dependant half saturation -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zlim.F90
r1953 r2082 161 161 DO jj = 1, jpj 162 162 DO ji = 1, jpi 163 ztemp = MAX( 0., t n(ji,jj,jk) )163 ztemp = MAX( 0., tsn(ji,jj,jk,jp_tem) ) 164 164 xfracal(ji,jj,jk) = caco3r * xlimphy(ji,jj,jk) & 165 165 & * MAX( 0.0001, ztemp / ( 2.+ ztemp ) ) & -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zprod.F90
r2038 r2082 147 147 ! Computation of the P-I slope for nanos and diatoms 148 148 IF( etot(ji,jj,jk) > 1.E-3 ) THEN 149 ztn = MAX( 0., t n(ji,jj,jk) - 15. )149 ztn = MAX( 0., tsn(ji,jj,jk,jp_tem) - 15. ) 150 150 zadap = 0.+ 1.* ztn / ( 2.+ ztn ) 151 151 zadap2 = 0.e0 -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zrem.F90
r2038 r2082 287 287 zsatur = ( sio3eq(ji,jj,jk) - trn(ji,jj,jk,jpsil) ) / ( sio3eq(ji,jj,jk) + rtrn ) 288 288 zsatur = MAX( rtrn, zsatur ) 289 zsatur2 = zsatur * ( 1. + t n(ji,jj,jk) / 400.)**4290 znusil = 0.225 * ( 1. + t n(ji,jj,jk) / 15.) * zsatur + 0.775 * zsatur2**9289 zsatur2 = zsatur * ( 1. + tsn(ji,jj,jk,jp_tem) / 400.)**4 290 znusil = 0.225 * ( 1. + tsn(ji,jj,jk,jp_tem) / 15.) * zsatur + 0.775 * zsatur2**9 291 291 # if defined key_degrad 292 292 zsiremin = xsirem * xstep * znusil * facvol(ji,jj,jk) -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zsed.F90
r2038 r2082 383 383 imois2 = nmonth 384 384 385 ! 1. first call kt=nit 000385 ! 1. first call kt=nittrc000 386 386 ! ----------------------- 387 387 388 IF( kt == nit 000 ) THEN388 IF( kt == nittrc000 ) THEN 389 389 ! initializations 390 390 nflx1 = 0 … … 402 402 ! ---------------- 403 403 404 IF( kt == nit 000 .OR. imois /= nflx1 ) THEN404 IF( kt == nittrc000 .OR. imois /= nflx1 ) THEN 405 405 406 406 ! Calendar computation … … 423 423 CALL iom_get ( numdust, jpdom_data, 'dust', dustmo(:,:,1), nflx1 ) 424 424 CALL iom_get ( numdust, jpdom_data, 'dust', dustmo(:,:,2), nflx2 ) 425 426 IF(lwp .AND. nitend-nit000 <= 100 ) THEN427 WRITE(numout,*)428 WRITE(numout,*) ' read clio flx ok'429 WRITE(numout,*)430 WRITE(numout,*)431 WRITE(numout,*) 'Clio month: ',nflx1,' field: dust'432 CALL prihre( dustmo(:,:,1),jpi,jpj,1,jpi,20,1,jpj,10,1e9,numout )433 ENDIF434 425 435 426 ENDIF -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/SED/par_sed.F90
r1250 r2082 16 16 jpjm1 => jpjm1 , & !: jpj - 1 17 17 jpij => jpij !: jpi x jpj 18 jp_tem => jp_tem !: indice of temperature 19 jp_sal => jp_sal !: indice of salintity 18 20 19 21 #if ! defined key_sed_off -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/SED/sed.F90
r1715 r2082 34 34 35 35 USE oce , ONLY : & 36 tn => tn , & !: pot. temperature (celsius) 37 sn => sn !: salinity (psu) 36 tsn => tsn & !: pot. temperature (celsius) and salinity (psu) 38 37 39 38 USE trc, ONLY : & … … 215 214 INTEGER, PUBLIC :: & 216 215 numsed = 27 217 218 216 #else 219 217 !!====================================================================== -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/SED/seddta.F90
r1264 r2082 131 131 trc_data(ji,jj,9 ) = sinking2(ji,jj,ikt) 132 132 trc_data(ji,jj,10) = sinkcal (ji,jj,ikt) 133 trc_data(ji,jj,11) = t n (ji,jj,ikt)134 trc_data(ji,jj,12) = sn (ji,jj,ikt)133 trc_data(ji,jj,11) = tsn (ji,jj,ikt,jp_tem) 134 trc_data(ji,jj,12) = tsn (ji,jj,ikt,jp_sal) 135 135 # else 136 136 trc_data(ji,jj,7 ) = sinksil (ji,jj,ikt) 137 137 trc_data(ji,jj,8 ) = sinking (ji,jj,ikt) 138 138 trc_data(ji,jj,9 ) = sinkcal (ji,jj,ikt) 139 trc_data(ji,jj,10) = t n (ji,jj,ikt)140 trc_data(ji,jj,11) = sn (ji,jj,ikt)139 trc_data(ji,jj,10) = tsn (ji,jj,ikt,jp_tem) 140 trc_data(ji,jj,11) = tsn (ji,jj,ikt,jp_sal) 141 141 # endif 142 142 ENDIF -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/TRP/trcadv.F90
r2034 r2082 33 33 34 34 PUBLIC trc_adv ! routine called by step module 35 35 36 INTEGER :: nadv ! choice of the type of advection scheme 37 REAL(wp), DIMENSION(jpk) :: r2dt ! vertical profile time-step, = 2 rdttra 38 ! ! except at nit000 (=rdttra) if neuler=0 36 39 37 40 !! * Substitutions … … 64 67 IF( kt == nittrc000 ) CALL trc_adv_ctl ! initialisation & control of options 65 68 69 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nit000 70 r2dt(:) = rdttra(:) * FLOAT(nn_dttrc) ! = rdtra (restarting with Euler time stepping) 71 ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN ! at nit000 or nit000+1 72 r2dt(:) = 2. * rdttra(:) * FLOAT(nn_dttrc) ! = 2 rdttra (leapfrog) 73 ENDIF 74 66 75 ! ! effective transport 67 76 DO jk = 1, jpkm1 … … 78 87 ! 79 88 SELECT CASE ( nadv ) !== compute advection trend and add it to general trend ==! 80 CASE ( 1 ) ; CALL tra_adv_cen2 ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) ! 2nd order centered81 CASE ( 2 ) ; CALL tra_adv_tvd ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) ! TVD82 CASE ( 3 ) ; CALL tra_adv_muscl ( kt, 'TRC', zun, zvn, zwn, trb, tra, jptra ) ! MUSCL83 CASE ( 4 ) ; CALL tra_adv_muscl2( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) ! MUSCL284 CASE ( 5 ) ; CALL tra_adv_ubs ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) ! UBS85 CASE ( 6 ) ; CALL tra_adv_qck ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) ! QUICKEST89 CASE ( 1 ) ; CALL tra_adv_cen2 ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) ! 2nd order centered 90 CASE ( 2 ) ; CALL tra_adv_tvd ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) ! TVD 91 CASE ( 3 ) ; CALL tra_adv_muscl ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, tra, jptra ) ! MUSCL 92 CASE ( 4 ) ; CALL tra_adv_muscl2( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) ! MUSCL2 93 CASE ( 5 ) ; CALL tra_adv_ubs ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) ! UBS 94 CASE ( 6 ) ; CALL tra_adv_qck ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) ! QUICKEST 86 95 ! 87 96 CASE (-1 ) !== esopa: test all possibility with control print ==! 88 CALL tra_adv_cen2 ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra )97 CALL tra_adv_cen2 ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra ) 89 98 WRITE(charout, FMT="('adv1')") ; CALL prt_ctl_trc_info(charout) 90 99 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 91 CALL tra_adv_tvd ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra )100 CALL tra_adv_tvd ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) 92 101 WRITE(charout, FMT="('adv2')") ; CALL prt_ctl_trc_info(charout) 93 102 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 94 CALL tra_adv_muscl ( kt, 'TRC', zun, zvn, zwn, trb, tra, jptra )103 CALL tra_adv_muscl ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, tra, jptra ) 95 104 WRITE(charout, FMT="('adv3')") ; CALL prt_ctl_trc_info(charout) 96 105 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 97 CALL tra_adv_muscl2( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra )106 CALL tra_adv_muscl2( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) 98 107 WRITE(charout, FMT="('adv4')") ; CALL prt_ctl_trc_info(charout) 99 108 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 100 CALL tra_adv_ubs ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra )109 CALL tra_adv_ubs ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) 101 110 WRITE(charout, FMT="('adv5')") ; CALL prt_ctl_trc_info(charout) 102 111 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 103 CALL tra_adv_qck ( kt, 'TRC', zun, zvn, zwn, trb, trn, tra, jptra )112 CALL tra_adv_qck ( kt, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra ) 104 113 WRITE(charout, FMT="('adv6')") ; CALL prt_ctl_trc_info(charout) 105 114 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/TRP/trcldf.F90
r2034 r2082 70 70 71 71 SELECT CASE ( nldf ) ! compute lateral mixing trend and add it to the general trend 72 CASE ( 0 ) ; CALL tra_ldf_lap ( kt 73 CASE ( 1 ) ; CALL tra_ldf_iso ( kt 74 CASE ( 2 ) ; CALL tra_ldf_bilap ( kt 75 CASE ( 3 ) ; CALL tra_ldf_bilapg( kt 72 CASE ( 0 ) ; CALL tra_ldf_lap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra ) ! iso-level laplacian 73 CASE ( 1 ) ; CALL tra_ldf_iso ( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) ! rotated laplacian 74 CASE ( 2 ) ; CALL tra_ldf_bilap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra ) ! iso-level bilaplacian 75 CASE ( 3 ) ; CALL tra_ldf_bilapg( kt, 'TRC', trb, tra, jptra ) ! s-coord. horizontal bilaplacian 76 76 ! 77 77 CASE ( -1 ) ! esopa: test all possibility with control print 78 CALL tra_ldf_lap ( kt 78 CALL tra_ldf_lap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra ) 79 79 WRITE(charout, FMT="('ldf0 ')") ; CALL prt_ctl_trc_info(charout) 80 80 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 81 CALL tra_ldf_iso ( kt 81 CALL tra_ldf_iso ( kt, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 82 82 WRITE(charout, FMT="('ldf1 ')") ; CALL prt_ctl_trc_info(charout) 83 83 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 84 CALL tra_ldf_bilap ( kt 84 CALL tra_ldf_bilap ( kt, 'TRC', gtru, gtrv, trb, tra, jptra ) 85 85 WRITE(charout, FMT="('ldf2 ')") ; CALL prt_ctl_trc_info(charout) 86 86 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 87 CALL tra_ldf_bilapg( kt 87 CALL tra_ldf_bilapg( kt, 'TRC', trb, tra, jptra ) 88 88 WRITE(charout, FMT="('ldf3 ')") ; CALL prt_ctl_trc_info(charout) 89 89 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/TRP/trcnxt.F90
r2034 r2082 44 44 PUBLIC trc_nxt ! routine called by step.F90 45 45 46 REAL(wp), DIMENSION(jpk) :: r2dt _t46 REAL(wp), DIMENSION(jpk) :: r2dt 47 47 !!---------------------------------------------------------------------- 48 48 !! TOP 1.0 , LOCEAN-IPSL (2005) … … 109 109 110 110 ! set time step size (Euler/Leapfrog) 111 IF( neuler == 0 .AND. kt == nittrc000) THEN ; r2dt _t(:) = rdttra(:) * FLOAT( nn_dttrc ) ! at nit000 (Euler)112 ELSEIF( kt <= nittrc000 + 1 ) THEN ; r2dt _t(:) = 2.* rdttra(:) * FLOAT( nn_dttrc ) ! at nit000 or nit000+1 (Leapfrog)111 IF( neuler == 0 .AND. kt == nittrc000) THEN ; r2dt(:) = rdttra(:) * FLOAT( nn_dttrc ) ! at nit000 (Euler) 112 ELSEIF( kt <= nittrc000 + 1 ) THEN ; r2dt(:) = 2.* rdttra(:) * FLOAT( nn_dttrc ) ! at nit000 or nit000+1 (Leapfrog) 113 113 ENDIF 114 114 … … 133 133 DO jn = 1, jptra 134 134 DO jk = 1, jpkm1 135 zfact = 1.e0 / r2dt _t(jk)135 zfact = 1.e0 / r2dt(jk) 136 136 ztrdt(:,:,jk,jn) = ( trb(:,:,jk,jn) - ztrdt(:,:,jk,jn) ) * zfact 137 137 CALL trd_tra( kt, 'TRC', jn, jptra_trd_atf, ztrdt ) -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/TRP/trctrp.F90
r2052 r2082 28 28 USE trcrad ! positivity (trc_rad routine) 29 29 USE trcsbc ! surface boundary condition (trc_sbc routine) 30 USE zpshde ! partial step: hor. derivative (zps_hde_trcroutine)30 USE zpshde ! partial step: hor. derivative (zps_hde routine) 31 31 32 32 #if defined key_agrif … … 74 74 #endif 75 75 CALL trc_zdf( kstp ) ! vertical mixing and after tracer fields 76 IF( ln_zps ) CALL zps_hde _trc( kstp, jptra, trn, gtru, gtrv ) ! Partial steps: now horizontal gradient of passive76 IF( ln_zps ) CALL zps_hde( kstp, jptra, trn, gtru, gtrv ) ! Partial steps: now horizontal gradient of passive 77 77 ! tracers at the bottom ocean level 78 78 CALL trc_nxt( kstp ) ! tracer fields at next time step -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/TRP/trczdf.F90
r2052 r2082 80 80 SELECT CASE ( nzdf ) ! compute lateral mixing trend and add it to the general trend 81 81 CASE ( -1 ) ! esopa: test all possibility with control print 82 CALL tra_zdf_exp( kt 82 CALL tra_zdf_exp( kt, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra ) 83 83 WRITE(charout, FMT="('zdf1 ')") ; CALL prt_ctl_trc_info(charout) 84 84 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 85 CALL tra_zdf_imp( kt 85 CALL tra_zdf_imp( kt, 'TRC', r2dt, trb, tra, jptra ) 86 86 WRITE(charout, FMT="('zdf2 ')") ; CALL prt_ctl_trc_info(charout) 87 87 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 88 CASE ( 0 ) ; CALL tra_zdf_exp( kt 89 CASE ( 1 ) ; CALL tra_zdf_imp( kt 88 CASE ( 0 ) ; CALL tra_zdf_exp( kt, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra ) ! explicit scheme 89 CASE ( 1 ) ; CALL tra_zdf_imp( kt, 'TRC', r2dt, trb, tra, jptra ) ! implicit scheme 90 90 91 91 END SELECT -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/oce_trc.F90
r2052 r2082 173 173 USE oce , ONLY : l_traldf_rot => l_traldf_rot !: rotated laplacian operator for lateral diffusion 174 174 #if defined key_offline 175 USE oce , ONLY : gt u => gtu!: t-, s- and rd horizontal gradient at u- and176 USE oce , ONLY : g su => gsu !: v-points at bottom ocean level175 USE oce , ONLY : gtsu => gtsu !: t-, s- and rd horizontal gradient at u- and 176 USE oce , ONLY : gtsv => gtsv !: 177 177 USE oce , ONLY : gru => gru !: 178 USE oce , ONLY : gtv => gtv !:179 USE oce , ONLY : gsv => gsv !:180 178 USE oce , ONLY : grv => grv !: 181 179 # if defined key_degrad -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/trc.F90
r2052 r2082 55 55 !! passive tracers restart (input and output) 56 56 !! ------------------------------------------ 57 INTEGER , PUBLIC :: nn_dttrc !: frequency of step on passive tracers58 INTEGER , PUBLIC :: nittrc000 !: first time step of passive tracers model59 57 LOGICAL , PUBLIC :: ln_rsttr !: boolean term for restart i/o for passive tracers (namelist) 60 58 LOGICAL , PUBLIC :: lrst_trc !: logical to control the trc restart write -
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/trcini.F90
r2038 r2082 29 29 USE daymod 30 30 #endif 31 USE zpshde ! partial step: hor. derivative (zps_hde _trcroutine)31 USE zpshde ! partial step: hor. derivative (zps_hde routine) 32 32 USE in_out_manager ! I/O manager 33 33 USE prtctl_trc ! Print control passive tracers (prt_ctl_trc_init routine) … … 49 49 CONTAINS 50 50 51 SUBROUTINE trc_ini 51 SUBROUTINE trc_init 52 52 !!--------------------------------------------------------------------- 53 !! *** ROUTINE trc_ini ***53 !! *** ROUTINE trc_init *** 54 54 !! 55 55 !! ** Purpose : Initialization of the passive tracer fields … … 67 67 68 68 IF(lwp) WRITE(numout,*) 69 IF(lwp) WRITE(numout,*) 'trc_ini : initial set up of the passive tracers'69 IF(lwp) WRITE(numout,*) 'trc_init : initial set up of the passive tracers' 70 70 IF(lwp) WRITE(numout,*) '~~~~~~~' 71 71 … … 138 138 139 139 IF( ln_zps .AND. .NOT. lk_trc_c1d ) & ! Partial steps: before horizontal gradient of passive 140 & CALL zps_hde _trc( nittrc000, jptra, trb, gtru, gtrv ) ! tracers at the bottom ocean level140 & CALL zps_hde( nittrc000, jptra, trb, gtru, gtrv ) ! tracers at the bottom ocean level 141 141 142 142 … … 170 170 ENDIF 171 171 172 END SUBROUTINE trc_ini 172 END SUBROUTINE trc_init 173 173 174 174 #else … … 177 177 !!---------------------------------------------------------------------- 178 178 CONTAINS 179 SUBROUTINE trc_ini ! Dummy routine180 END SUBROUTINE trc_ini 179 SUBROUTINE trc_init ! Dummy routine 180 END SUBROUTINE trc_init 181 181 #endif 182 182
Note: See TracChangeset
for help on using the changeset viewer.