[186] | 1 | MODULE oce_trc |
---|
| 2 | !!====================================================================== |
---|
| 3 | !! *** MODULE oce_trc *** |
---|
[945] | 4 | !! TOP : variables shared between ocean and passive tracers |
---|
[186] | 5 | !!====================================================================== |
---|
[945] | 6 | !! History : 1.0 ! 2004-03 (C. Ethe) original code |
---|
| 7 | !! 2.0 ! 2007-12 (C. Ethe, G. Madec) rewritting |
---|
[186] | 8 | !!---------------------------------------------------------------------- |
---|
[945] | 9 | #if defined key_top |
---|
| 10 | !!---------------------------------------------------------------------- |
---|
| 11 | !! 'key_top' TOP models |
---|
| 12 | !!---------------------------------------------------------------------- |
---|
[186] | 13 | |
---|
[945] | 14 | !* Domain size * |
---|
| 15 | USE par_oce , ONLY : jpi => jpi !: first dimension of grid --> i |
---|
| 16 | USE par_oce , ONLY : jpj => jpj !: second dimension of grid --> j |
---|
| 17 | USE par_oce , ONLY : jpk => jpk !: number of levels |
---|
| 18 | USE par_oce , ONLY : jpim1 => jpim1 !: jpi - 1 |
---|
| 19 | USE par_oce , ONLY : jpjm1 => jpjm1 !: jpj - 1 |
---|
| 20 | USE par_oce , ONLY : jpkm1 => jpkm1 !: jpk - 1 |
---|
| 21 | USE par_oce , ONLY : jpij => jpij !: jpi x jpj |
---|
| 22 | USE par_oce , ONLY : lk_esopa => lk_esopa !: flag to activate the all option |
---|
[2528] | 23 | USE par_oce , ONLY : jp_tem => jp_tem !: indice for temperature |
---|
| 24 | USE par_oce , ONLY : jp_sal => jp_sal !: indice for salinity |
---|
[186] | 25 | |
---|
[945] | 26 | !* IO manager * |
---|
[2528] | 27 | USE in_out_manager |
---|
[2715] | 28 | |
---|
[3294] | 29 | !* Memory Allocation * |
---|
| 30 | USE wrk_nemo |
---|
| 31 | |
---|
| 32 | !* Timing * |
---|
| 33 | USE timing |
---|
| 34 | |
---|
[2715] | 35 | !* MPP library |
---|
| 36 | USE lib_mpp |
---|
| 37 | |
---|
| 38 | !* Fortran utilities |
---|
| 39 | USE lib_fortran |
---|
| 40 | |
---|
| 41 | !* Lateral boundary conditions |
---|
| 42 | USE lbclnk |
---|
| 43 | |
---|
[945] | 44 | !* physical constants * |
---|
[2528] | 45 | USE phycst |
---|
[186] | 46 | |
---|
[2528] | 47 | !* 1D configuration |
---|
| 48 | USE c1d |
---|
| 49 | |
---|
[945] | 50 | !* model domain * |
---|
[3680] | 51 | USE dom_oce |
---|
[335] | 52 | |
---|
[4610] | 53 | USE domvvl, ONLY : un_td, vn_td !: thickness diffusion transport |
---|
| 54 | USE domvvl, ONLY : ln_vvl_ztilde !: ztilde vertical coordinate |
---|
| 55 | USE domvvl, ONLY : ln_vvl_layer !: level vertical coordinate |
---|
[186] | 56 | |
---|
[945] | 57 | !* ocean fields: here now and after fields * |
---|
| 58 | USE oce , ONLY : ua => ua !: i-horizontal velocity (m s-1) |
---|
| 59 | USE oce , ONLY : va => va !: j-horizontal velocity (m s-1) |
---|
| 60 | USE oce , ONLY : un => un !: i-horizontal velocity (m s-1) |
---|
| 61 | USE oce , ONLY : vn => vn !: j-horizontal velocity (m s-1) |
---|
| 62 | USE oce , ONLY : wn => wn !: vertical velocity (m s-1) |
---|
[2528] | 63 | USE oce , ONLY : tsn => tsn !: 4D array contaning ( tn, sn ) |
---|
| 64 | USE oce , ONLY : tsb => tsb !: 4D array contaning ( tb, sb ) |
---|
| 65 | USE oce , ONLY : tsa => tsa !: 4D array contaning ( ta, sa ) |
---|
[945] | 66 | USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3) |
---|
| 67 | USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
| 68 | USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) |
---|
[3294] | 69 | USE oce , ONLY : rotn => rotn !: relative vorticity [s-1] |
---|
| 70 | USE oce , ONLY : hdivb => hdivb !: horizontal divergence (1/s) |
---|
| 71 | USE oce , ONLY : rotb => rotb !: relative vorticity [s-1] |
---|
| 72 | USE oce , ONLY : sshn => sshn !: sea surface height at t-point [m] |
---|
| 73 | USE oce , ONLY : sshb => sshb !: sea surface height at t-point [m] |
---|
| 74 | USE oce , ONLY : ssha => ssha !: sea surface height at t-point [m] |
---|
[2528] | 75 | USE oce , ONLY : l_traldf_rot => l_traldf_rot !: rotated laplacian operator for lateral diffusion |
---|
[201] | 76 | |
---|
[945] | 77 | !* surface fluxes * |
---|
| 78 | USE sbc_oce , ONLY : utau => utau !: i-surface stress component |
---|
| 79 | USE sbc_oce , ONLY : vtau => vtau !: j-surface stress component |
---|
[1011] | 80 | USE sbc_oce , ONLY : wndm => wndm !: 10m wind speed |
---|
[4306] | 81 | USE sbc_oce , ONLY : qsr => qsr !: penetrative solar radiation (w m-2) |
---|
[2528] | 82 | USE sbc_oce , ONLY : emp => emp !: freshwater budget: volume flux [Kg/m2/s] |
---|
[3294] | 83 | USE sbc_oce , ONLY : emp_b => emp_b !: freshwater budget: volume flux [Kg/m2/s] |
---|
[4148] | 84 | USE sbc_oce , ONLY : fmmflx => fmmflx !: freshwater budget: volume flux [Kg/m2/s] |
---|
[2528] | 85 | USE sbc_oce , ONLY : rnf => rnf !: river runoff [Kg/m2/s] |
---|
| 86 | USE sbc_oce , ONLY : ln_dm2dc => ln_dm2dc !: Daily mean to Diurnal Cycle short wave (qsr) |
---|
| 87 | USE sbc_oce , ONLY : ln_rnf => ln_rnf !: runoffs / runoff mouths |
---|
[1034] | 88 | USE sbc_oce , ONLY : fr_i => fr_i !: ice fraction (between 0 to 1) |
---|
[1445] | 89 | USE traqsr , ONLY : rn_abs => rn_abs !: fraction absorbed in the very near surface |
---|
| 90 | USE traqsr , ONLY : rn_si0 => rn_si0 !: very near surface depth of extinction |
---|
| 91 | USE traqsr , ONLY : ln_qsr_bio => ln_qsr_bio !: flag to use or not the biological fluxes for light |
---|
[945] | 92 | USE sbcrnf , ONLY : rnfmsk => rnfmsk !: mixed adv scheme in runoffs vicinity (hori.) |
---|
| 93 | USE sbcrnf , ONLY : rnfmsk_z => rnfmsk_z !: mixed adv scheme in runoffs vicinity (vert.) |
---|
[3294] | 94 | USE sbcrnf , ONLY : h_rnf => h_rnf !: river runoff [Kg/m2/s] |
---|
[186] | 95 | |
---|
[2528] | 96 | USE trc_oce |
---|
[201] | 97 | |
---|
[945] | 98 | !* lateral diffusivity (tracers) * |
---|
[3294] | 99 | USE ldftra_oce , ONLY : rldf => rldf !: multiplicative coef. for lateral diffusivity |
---|
| 100 | USE ldftra_oce , ONLY : rn_aht_0 => rn_aht_0 !: horizontal eddy diffusivity for tracers (m2/s) |
---|
| 101 | USE ldftra_oce , ONLY : aht0 => aht0 !: horizontal eddy diffusivity for tracers (m2/s) |
---|
| 102 | USE ldftra_oce , ONLY : ahtb0 => ahtb0 !: background eddy diffusivity for isopycnal diff. (m2/s) |
---|
| 103 | USE ldftra_oce , ONLY : ahtu => ahtu !: lateral diffusivity coef. at u-points |
---|
| 104 | USE ldftra_oce , ONLY : ahtv => ahtv !: lateral diffusivity coef. at v-points |
---|
| 105 | USE ldftra_oce , ONLY : ahtw => ahtw !: lateral diffusivity coef. at w-points |
---|
| 106 | USE ldftra_oce , ONLY : ahtt => ahtt !: lateral diffusivity coef. at t-points |
---|
| 107 | USE ldftra_oce , ONLY : aeiv0 => aeiv0 !: eddy induced velocity coefficient (m2/s) |
---|
| 108 | USE ldftra_oce , ONLY : aeiu => aeiu !: eddy induced velocity coef. at u-points (m2/s) |
---|
| 109 | USE ldftra_oce , ONLY : aeiv => aeiv !: eddy induced velocity coef. at v-points (m2/s) |
---|
| 110 | USE ldftra_oce , ONLY : aeiw => aeiw !: eddy induced velocity coef. at w-points (m2/s) |
---|
| 111 | USE ldftra_oce , ONLY : lk_traldf_eiv => lk_traldf_eiv !: eddy induced velocity flag |
---|
[186] | 112 | |
---|
[945] | 113 | !* vertical diffusion * |
---|
| 114 | USE zdf_oce , ONLY : avt => avt !: vert. diffusivity coef. at w-point for temp |
---|
| 115 | # if defined key_zdfddm |
---|
[3294] | 116 | USE zdfddm , ONLY : avs => avs !: salinity vertical diffusivity coeff. at w-point |
---|
[945] | 117 | # endif |
---|
[186] | 118 | |
---|
[945] | 119 | !* mixing & mixed layer depth * |
---|
[1177] | 120 | USE zdfmxl , ONLY : nmln => nmln !: number of level in the mixed layer |
---|
[945] | 121 | USE zdfmxl , ONLY : hmld => hmld !: mixing layer depth (turbocline) |
---|
| 122 | USE zdfmxl , ONLY : hmlp => hmlp !: mixed layer depth (rho=rho0+zdcrit) (m) |
---|
| 123 | USE zdfmxl , ONLY : hmlpt => hmlpt !: mixed layer depth at t-points (m) |
---|
[281] | 124 | |
---|
[945] | 125 | !* direction of lateral diffusion * |
---|
| 126 | USE ldfslp , ONLY : lk_ldfslp => lk_ldfslp !: slopes flag |
---|
| 127 | # if defined key_ldfslp |
---|
| 128 | USE ldfslp , ONLY : uslp => uslp !: i-direction slope at u-, w-points |
---|
| 129 | USE ldfslp , ONLY : vslp => vslp !: j-direction slope at v-, w-points |
---|
| 130 | USE ldfslp , ONLY : wslpi => wslpi !: i-direction slope at u-, w-points |
---|
| 131 | USE ldfslp , ONLY : wslpj => wslpj !: j-direction slope at v-, w-points |
---|
| 132 | # endif |
---|
[201] | 133 | |
---|
[945] | 134 | #else |
---|
| 135 | !!---------------------------------------------------------------------- |
---|
| 136 | !! Empty module : No passive tracer |
---|
| 137 | !!---------------------------------------------------------------------- |
---|
[186] | 138 | #endif |
---|
[201] | 139 | |
---|
[2528] | 140 | !!---------------------------------------------------------------------- |
---|
| 141 | !! NEMO/TOP 3.3 , NEMO Consortium (2010) |
---|
| 142 | !! $Id$ |
---|
| 143 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
[945] | 144 | !!====================================================================== |
---|
[186] | 145 | END MODULE oce_trc |
---|