[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 |
---|
[7398] | 10 | USE dom_oce , ONLY : ndastp |
---|
| 11 | USE dom_oce , ONLY : nyear_len,nday,nyear,nday_year |
---|
| 12 | USE dom_oce , ONLY : gdepw_1d |
---|
| 13 | USE dom_oce , ONLY : rdttra |
---|
| 14 | USE dom_oce , ONLY : Agrif_Root => Agrif_Root |
---|
| 15 | USE sbc_oce , ONLY : nn_ice_embd |
---|
| 16 | USE sbc_oce , ONLY : ln_cpl |
---|
| 17 | USE sbc_oce , ONLY : ln_rnf |
---|
| 18 | USE sbc_oce , ONLY : ncpl_qsr_freq |
---|
[5105] | 19 | |
---|
[7398] | 20 | USE traqsr , ONLY : ln_qsr_bio => ln_qsr_bio |
---|
| 21 | USE traqsr , ONLY : rn_si0 => rn_si0 !: very near surface depth of extinction |
---|
| 22 | USE traqsr , ONLY : rn_abs => rn_abs !: fraction absorbed in the very near surface |
---|
| 23 | |
---|
| 24 | USE iom , ONLY : iom_open , iom_get , iom_varid , iom_rstput , iom_close , iom_use, iom_gettime, iom_put |
---|
| 25 | USE iom , ONLY : lk_iomput ,jpdom_data,jpdom_autoglo |
---|
| 26 | |
---|
| 27 | USE par_trc , ONLY : jptra |
---|
| 28 | USE par_cfc , ONLY : lk_cfc , jp_cfc0 , jp_cfc1 |
---|
| 29 | USE par_c14b , ONLY : lk_c14b , jp_c14b0, jp_c14b1 |
---|
| 30 | USE par_pisces , ONLY : lk_pisces, jp_pcs0 , jp_pcs1 |
---|
| 31 | USE par_my_trc , ONLY : lk_my_trc, jp_myt0 , jp_myt1 |
---|
| 32 | |
---|
| 33 | USE trc_oce , ONLY : lk_degrad, lk_offline, facvol, r_si2, trc_oce_ext_lev |
---|
| 34 | USE trc_oce , ONLY : nn_dttrc |
---|
| 35 | USE trc_oce , ONLY : etot3 |
---|
| 36 | USE trc , ONLY : nittrc000 |
---|
| 37 | USE trc , ONLY : trb,trn,tra |
---|
| 38 | USE trc , ONLY : trc2d,trc3d |
---|
| 39 | USE trc , ONLY : ctrcnm |
---|
| 40 | USE trc , ONLY : numrtr ,numrtw |
---|
| 41 | USE trc , ONLY : ln_diatrc,ln_rsttr,ln_top_euler,lrst_trc,ln_trcdmp,ln_trcdmp_clo |
---|
| 42 | USE trc , ONLY : gtru, gtrv,gtrui,gtrvi |
---|
| 43 | USE trc , ONLY : rdttrc |
---|
| 44 | USE trc , ONLY : areatot |
---|
| 45 | USE trc , ONLY : cvol |
---|
| 46 | USE trc , ONLY : l_trcdm2dc |
---|
| 47 | USE trc , ONLY : nn_ice_tr |
---|
| 48 | USE trc , ONLY : cn_trc_o |
---|
| 49 | USE trc , ONLY : trc_ice_ratio |
---|
| 50 | USE trc , ONLY : nn_ice_tr |
---|
| 51 | USE trc , ONLY : trc_ice_prescr |
---|
| 52 | USE trc , ONLY : qsr_mean ! in case of coarsening no no need to coarsene it because qsr_mean is already in crs space |
---|
| 53 | |
---|
[5105] | 54 | #if defined key_crs |
---|
| 55 | |
---|
| 56 | !* Domain size * |
---|
| 57 | USE par_oce , ONLY : jpi => jpi !: first dimension of grid --> i |
---|
| 58 | USE par_oce , ONLY : jpj => jpj !: second dimension of grid --> j |
---|
| 59 | USE par_oce , ONLY : jpk => jpk !: number of levels |
---|
| 60 | USE par_oce , ONLY : jpim1 => jpim1 !: jpi - 1 |
---|
| 61 | USE par_oce , ONLY : jpjm1 => jpjm1 !: jpj - 1 |
---|
| 62 | USE par_oce , ONLY : jpkm1 => jpkm1 !: jpk - 1 |
---|
| 63 | USE par_oce , ONLY : jpij => jpij !: jpi x jpj |
---|
| 64 | USE par_oce , ONLY : lk_esopa => lk_esopa !: flag to activate the all option |
---|
| 65 | USE par_oce , ONLY : jp_tem => jp_tem !: indice for temperature |
---|
| 66 | USE par_oce , ONLY : jp_sal => jp_sal !: indice for salinity |
---|
| 67 | |
---|
| 68 | !* IO manager * |
---|
| 69 | USE in_out_manager |
---|
| 70 | |
---|
| 71 | !* Memory Allocation * |
---|
| 72 | USE wrk_nemo |
---|
| 73 | |
---|
| 74 | !* Timing * |
---|
| 75 | USE timing, ONLY : timing_start , timing_stop |
---|
| 76 | |
---|
| 77 | !* MPP library |
---|
| 78 | USE lib_mpp |
---|
| 79 | |
---|
| 80 | !* Fortran utilities |
---|
[7320] | 81 | USE lib_fortran_crs , ONLY : glob_sum => glob_sum_crs |
---|
[5105] | 82 | |
---|
| 83 | !* Lateral boundary conditions |
---|
| 84 | USE lbclnk |
---|
| 85 | |
---|
| 86 | !* physical constants * |
---|
| 87 | USE phycst |
---|
| 88 | |
---|
| 89 | !* 1D configuration |
---|
| 90 | USE c1d |
---|
| 91 | |
---|
| 92 | !* model domain * |
---|
| 93 | USE dom_oce , ONLY : narea => narea |
---|
| 94 | USE dom_oce , ONLY : nproc => nproc |
---|
| 95 | USE dom_oce , ONLY : nimpp => nimpp |
---|
| 96 | USE dom_oce , ONLY : njmpp => njmpp |
---|
| 97 | USE dom_oce , ONLY : nreci => nreci |
---|
| 98 | USE dom_oce , ONLY : nrecj => nrecj |
---|
| 99 | USE dom_oce , ONLY : nlci => nlci |
---|
| 100 | USE dom_oce , ONLY : nldi => nldi |
---|
| 101 | USE dom_oce , ONLY : nlei => nlei |
---|
| 102 | USE dom_oce , ONLY : nlcj => nlcj |
---|
| 103 | USE dom_oce , ONLY : nldj => nldj |
---|
| 104 | USE dom_oce , ONLY : nlej => nlej |
---|
| 105 | USE dom_oce , ONLY : nlcit => nlcit |
---|
| 106 | USE dom_oce , ONLY : nldit => nldit |
---|
| 107 | USE dom_oce , ONLY : nleit => nleit |
---|
| 108 | USE dom_oce , ONLY : nlcjt => nlcjt |
---|
| 109 | USE dom_oce , ONLY : nldjt => nldjt |
---|
| 110 | USE dom_oce , ONLY : nlejt => nlejt |
---|
| 111 | USE dom_oce , ONLY : nimppt => nimppt |
---|
| 112 | USE dom_oce , ONLY : njmppt => njmppt |
---|
| 113 | USE dom_oce , ONLY : ibonit => ibonit |
---|
| 114 | USE dom_oce , ONLY : ibonjt => ibonjt |
---|
| 115 | USE dom_oce , ONLY : lk_vvl => lk_vvl |
---|
| 116 | USE dom_oce , ONLY : rdt => rdt |
---|
| 117 | USE dom_oce , ONLY : ln_zco => ln_zco |
---|
| 118 | USE dom_oce , ONLY : ln_zps => ln_zps |
---|
| 119 | USE dom_oce , ONLY : ln_sco => ln_sco |
---|
| 120 | USE dom_oce , ONLY : neuler => neuler |
---|
[6101] | 121 | USE dom_oce , ONLY : mikt => mikt !: f-points (m) |
---|
[5105] | 122 | |
---|
| 123 | USE crs, ONLY : mi0 => mi0 |
---|
| 124 | USE crs, ONLY : mi1 => mi1 |
---|
| 125 | USE crs, ONLY : mj0 => mj0 |
---|
| 126 | USE crs, ONLY : mj1 => mj1 |
---|
| 127 | |
---|
| 128 | USE dom_oce , ONLY : lzoom => lzoom |
---|
| 129 | !USE dom_oce , ONLY : => |
---|
| 130 | |
---|
| 131 | !* horizontal mesh * |
---|
| 132 | USE crs , ONLY : glamt => glamt_crs !: longitude of t-point (degre) |
---|
| 133 | USE crs , ONLY : glamu => glamu_crs !: longitude of t-point (degre) |
---|
| 134 | USE crs , ONLY : glamv => glamv_crs !: longitude of t-point (degre) |
---|
| 135 | USE crs , ONLY : glamf => glamf_crs !: longitude of t-point (degre) |
---|
| 136 | USE crs , ONLY : gphit => gphit_crs !: latitude of t-point (degre) |
---|
| 137 | USE crs , ONLY : gphiu => gphiu_crs !: latitude of t-point (degre) |
---|
| 138 | USE crs , ONLY : gphiv => gphiv_crs !: latitude of t-point (degre) |
---|
| 139 | USE crs , ONLY : gphif => gphif_crs !: latitude of t-point (degre) |
---|
| 140 | USE crs , ONLY : e1t => e1t_crs !: horizontal scale factors at t-point (m) |
---|
| 141 | USE crs , ONLY : e2t => e2t_crs !: horizontal scale factors at t-point (m) |
---|
| 142 | USE crs , ONLY : e1e2t => e1e2t_crs !: cell surface at t-point (m2) |
---|
| 143 | USE crs , ONLY : e1u => e1u_crs !: horizontal scale factors at u-point (m) |
---|
| 144 | USE crs , ONLY : e2u => e2u_crs !: horizontal scale factors at u-point (m) |
---|
| 145 | USE crs , ONLY : e1v => e1v_crs !: horizontal scale factors at v-point (m) |
---|
| 146 | USE crs , ONLY : e2v => e2v_crs !: horizontal scale factors at v-point (m) |
---|
[6772] | 147 | |
---|
| 148 | #if defined key_vvl |
---|
| 149 | USE crs , ONLY : e3t => e3t_n_crs !: vertical scale factors at t- |
---|
| 150 | USE crs , ONLY : e3u => e3u_n_crs !: vertical scale factors at u- |
---|
| 151 | USE crs , ONLY : e3v => e3v_n_crs !: vertical scale factors v- |
---|
| 152 | USE crs , ONLY : e3w => e3w_n_crs !: w-points (m) |
---|
[7332] | 153 | USE crs , ONLY : e3t_b => e3t_b_crs !: vertical scale factors at t- |
---|
| 154 | USE crs , ONLY : e3u_b => e3u_b_crs !: vertical scale factors at u- |
---|
| 155 | USE crs , ONLY : e3v_b => e3v_b_crs !: vertical scale factors v- |
---|
| 156 | USE crs , ONLY : e3w_b => e3w_b_crs !: w-points (m) |
---|
[6772] | 157 | USE crs , ONLY : e3t_n => e3t_n_crs !: vertical scale factors at t- |
---|
| 158 | USE crs , ONLY : e3u_n => e3u_n_crs !: vertical scale factors at u- |
---|
| 159 | USE crs , ONLY : e3v_n => e3v_n_crs !: vertical scale factors v- |
---|
| 160 | USE crs , ONLY : e3w_n => e3w_n_crs !: w-points (m) |
---|
| 161 | USE crs , ONLY : e3t_a => e3t_a_crs !: vertical scale factors at t- |
---|
| 162 | USE crs , ONLY : e3u_a => e3u_a_crs !: vertical scale factors at u- |
---|
| 163 | USE crs , ONLY : e3v_a => e3v_a_crs !: vertical scale factors v- |
---|
| 164 | USE crs , ONLY : e3w_a => e3w_a_crs !: w-points (m) |
---|
| 165 | USE crs , ONLY : gdept => gdept_n_crs !: depth of t-points (m) |
---|
| 166 | USE crs , ONLY : gdept_crs => gdept_n_crs !: depth of t-points (m) |
---|
| 167 | USE crs , ONLY : gdept_n => gdept_n_crs !: depth of t-points (m) |
---|
[7398] | 168 | USE crs , ONLY : gdepw_n => gdepw_n_crs !: depth of t-points (m) |
---|
[6772] | 169 | USE crs , ONLY : e3t_max_crs => e3t_max_n_crs |
---|
| 170 | USE crs , ONLY : e3u_max_crs => e3u_max_n_crs |
---|
| 171 | USE crs , ONLY : e3v_max_crs => e3v_max_n_crs |
---|
| 172 | USE crs , ONLY : e3w_max_crs => e3w_max_n_crs |
---|
| 173 | #else |
---|
| 174 | USE crs , ONLY : e3t => e3t_0_crs !: vertical scale factors at t- |
---|
| 175 | USE crs , ONLY : e3u => e3u_0_crs !: vertical scale factors at u- |
---|
| 176 | USE crs , ONLY : e3v => e3v_0_crs !: vertical scale factors v- |
---|
| 177 | USE crs , ONLY : e3w => e3w_0_crs !: w-points (m) |
---|
[7332] | 178 | USE crs , ONLY : e3t_b => e3t_0_crs !: vertical scale factors at t- |
---|
| 179 | USE crs , ONLY : e3u_b => e3u_0_crs !: vertical scale factors at u- |
---|
| 180 | USE crs , ONLY : e3v_b => e3v_0_crs !: vertical scale factors v- |
---|
| 181 | USE crs , ONLY : e3w_b => e3w_0_crs !: w-points (m) |
---|
[6772] | 182 | USE crs , ONLY : e3t_n => e3t_0_crs !: vertical scale factors at t- |
---|
| 183 | USE crs , ONLY : e3u_n => e3u_0_crs !: vertical scale factors at u- |
---|
| 184 | USE crs , ONLY : e3v_n => e3v_0_crs !: vertical scale factors v- |
---|
| 185 | USE crs , ONLY : e3w_n => e3w_0_crs !: w-points (m) |
---|
| 186 | USE crs , ONLY : e3t_a => e3t_0_crs !: vertical scale factors at t- |
---|
| 187 | USE crs , ONLY : e3u_a => e3u_0_crs !: vertical scale factors at u- |
---|
| 188 | USE crs , ONLY : e3v_a => e3v_0_crs !: vertical scale factors v- |
---|
| 189 | USE crs , ONLY : e3w_a => e3w_0_crs !: w-points (m) |
---|
| 190 | USE crs , ONLY : gdept => gdept_0_crs !: depth of t-points (m) |
---|
| 191 | USE crs , ONLY : gdepw => gdepw_0_crs !: depth of t-points (m) |
---|
| 192 | USE crs , ONLY : gdept_crs => gdept_0_crs !: depth of t-points (m) |
---|
| 193 | USE crs , ONLY : gdepw_crs => gdepw_0_crs !: depth of t-points (m) |
---|
| 194 | USE crs , ONLY : gdept_n => gdept_0_crs !: depth of t-points (m) |
---|
[7398] | 195 | USE crs , ONLY : gdepw_n => gdepw_0_crs !: depth of t-points (m) |
---|
[6772] | 196 | USE crs , ONLY : e3t_max_crs => e3t_max_0_crs |
---|
| 197 | USE crs , ONLY : e3u_max_crs => e3u_max_0_crs |
---|
| 198 | USE crs , ONLY : e3v_max_crs => e3v_max_0_crs |
---|
| 199 | USE crs , ONLY : e3w_max_crs => e3w_max_0_crs |
---|
| 200 | #endif |
---|
| 201 | USE crs , ONLY : e3t_0 => e3t_0_crs !: vertical scale factors at t- |
---|
| 202 | USE crs , ONLY : e3u_0 => e3u_0_crs !: vertical scale factors at t- |
---|
| 203 | USE crs , ONLY : e3v_0 => e3v_0_crs !: vertical scale factors at t- |
---|
| 204 | USE crs , ONLY : e3w_0 => e3w_0_crs !: vertical scale factors at t- |
---|
| 205 | |
---|
[7332] | 206 | USE crs , ONLY : ff => ff_crs !: f-points (m) |
---|
| 207 | USE crs , ONLY : gdept_0 => gdept_0_crs !: depth of t-points (m) |
---|
[5105] | 208 | USE dom_oce , ONLY : gdept_1d => gdept_1d !: depth of t-points (m) |
---|
| 209 | #if defined key_zco |
---|
[6772] | 210 | USE crs , ONLY : gdept => gdept_0_crs !: depth of t-points (m) |
---|
[5105] | 211 | USE crs , ONLY : gdepw => gdepw_crs !: depth of t-points (m) |
---|
| 212 | #endif |
---|
| 213 | !* masks, bathymetry * |
---|
| 214 | USE crs , ONLY : mbkt => mbkt_crs !: vertical index of the bottom last T- ocean level |
---|
| 215 | USE crs , ONLY : mbku => mbku_crs !: vertical index of the bottom last U- ocean level |
---|
| 216 | USE crs , ONLY : mbkv => mbkv_crs !: vertical index of the bottom last V- ocean level |
---|
| 217 | USE crs , ONLY : tmask_i => tmask_i_crs !: Interior mask at t-points |
---|
| 218 | USE crs , ONLY : tmask => tmask_crs !: land/ocean mask at t-points |
---|
| 219 | USE crs , ONLY : umask => umask_crs !: land/ocean mask at u-points |
---|
| 220 | USE crs , ONLY : vmask => vmask_crs !: land/ocean mask at v-points |
---|
| 221 | USE crs , ONLY : fmask => fmask_crs !: land/ocean mask at f-points |
---|
| 222 | |
---|
| 223 | !* ocean fields: here now and after fields * |
---|
| 224 | USE crs , ONLY : un => un_crs !: i-horizontal velocity (m s-1) |
---|
| 225 | USE crs , ONLY : vn => vn_crs !: j-horizontal velocity (m s-1) |
---|
| 226 | USE crs , ONLY : wn => wn_crs !: vertical velocity (m s-1) |
---|
| 227 | USE crs , ONLY : tsn => tsn_crs !: 4D array contaning ( tn, sn ) |
---|
[6772] | 228 | USE crs , ONLY : tsb => tsb_crs !: 4D array contaning ( tb, sb ) |
---|
| 229 | USE crs , ONLY : tsa => tsa_crs !: 4D array contaning ( ta, sa ) |
---|
| 230 | USE crs , ONLY : rhop => rhop_crs !: potential volumic mass (kg m-3) |
---|
[5601] | 231 | USE crs , ONLY : rhd => rhd_crs !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
| 232 | USE crs , ONLY : rn2b => rb2_crs !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
| 233 | USE crs , ONLY : rab_n => rab_crs_n !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
[5105] | 234 | USE crs , ONLY : hdivn => hdivn_crs !: horizontal divergence (1/s) |
---|
| 235 | USE crs , ONLY : hdivb => hdivb_crs !: horizontal divergence (1/s) |
---|
| 236 | USE crs , ONLY : sshb => sshb_crs !: sea surface height at t-point [m] |
---|
| 237 | USE crs , ONLY : sshn => sshn_crs !: sea surface height at t-point [m] |
---|
| 238 | USE crs , ONLY : ssha => ssha_crs !: sea surface height at t-point [m] |
---|
| 239 | |
---|
| 240 | !* surface fluxes * |
---|
| 241 | USE crs , ONLY : utau => utau_crs !: i-surface stress component |
---|
| 242 | USE crs , ONLY : vtau => vtau_crs !: j-surface stress component |
---|
| 243 | USE crs , ONLY : wndm => wndm_crs !: 10m wind speed |
---|
| 244 | USE crs , ONLY : qsr => qsr_crs !: penetrative solar radiation (w m-2) |
---|
| 245 | USE crs , ONLY : emp => emp_crs !: freshwater budget: volume flux [Kg/m2/s] |
---|
| 246 | USE crs , ONLY : emp_b => emp_b_crs !: freshwater budget: volume flux [Kg/m2/s] |
---|
| 247 | USE crs , ONLY : sfx => sfx_crs !: freshwater budget: concentration/dillution [Kg/m2/s] |
---|
| 248 | USE crs , ONLY : fmmflx => fmmflx_crs !: freshwater budget: volume flux [Kg/m2/s] |
---|
| 249 | USE crs , ONLY : rnf => rnf_crs !: river runoff [Kg/m2/s] |
---|
[7398] | 250 | USE crs , ONLY : h_rnf => h_rnf_crs !: river runoff [Kg/m2/s] |
---|
| 251 | USE crs , ONLY : nk_rnf => nk_rnf_crs !: depth of runoff in model level |
---|
[5105] | 252 | USE crs , ONLY : fr_i => fr_i_crs !: ice fraction (between 0 to 1) |
---|
[5601] | 253 | USE trcnam_trp , ONLY : aht0 => rn_ahtrc_0 !: horizontal eddy diffusivity for tracers (m2/s) |
---|
| 254 | USE crs , ONLY : ahtu => ahtu_crs !: lateral diffusivity coef. at u-points |
---|
| 255 | USE crs , ONLY : ahtv => ahtv_crs !: lateral diffusivity coef. at v-points |
---|
| 256 | USE crs , ONLY : ahtw => ahtw_crs !: lateral diffusivity coef. at w-points |
---|
| 257 | USE crs , ONLY : ahtt => ahtt_crs !: lateral diffusivity coef. at t-points |
---|
[7256] | 258 | USE crs , ONLY : r_fact_lap => r_fact_lap_crs !: enhanced zonal diffusivity coefficient |
---|
[5601] | 259 | USE ldftra_oce , ONLY : rldf => rldf |
---|
[6772] | 260 | USE crs , ONLY : trc_i => trc_i_crs |
---|
| 261 | USE crs , ONLY : trc_o => trc_o_crs |
---|
[5105] | 262 | USE crs , ONLY : avt => avt_crs !: vert. diffusivity coef. at w-point for temp |
---|
| 263 | #if defined key_zdfddm |
---|
| 264 | USE crs , ONLY : avs => avs_crs !: salinity vertical diffusivity coeff. at w-point |
---|
| 265 | #endif |
---|
| 266 | |
---|
| 267 | USE trc_oce, ONLY : nn_dttrc |
---|
| 268 | |
---|
| 269 | USE crs , ONLY : nmln => nmln_crs !: number of level in the mixed layer |
---|
| 270 | USE crs , ONLY : hmld => hmld_crs !: mixing layer depth (turbocline) |
---|
| 271 | USE crs , ONLY : hmlp => hmlp_crs !: mixed layer depth (rho=rho0+zdcrit) (m) |
---|
| 272 | USE crs , ONLY : hmlpt => hmlpt_crs !: mixed layer depth at t-points (m) |
---|
| 273 | |
---|
| 274 | !* direction of lateral diffusion * |
---|
| 275 | #if defined key_ldfslp |
---|
[5601] | 276 | USE crs , ONLY : uslp => uslp_crs !: i-direction slope at u-, w-points |
---|
| 277 | USE crs , ONLY : vslp => vslp_crs !: j-direction slope at v-, w-points |
---|
| 278 | USE crs , ONLY : wslpi => wslpi_crs !: i-direction slope at u-, w-points |
---|
| 279 | USE crs , ONLY : wslpj => wslpj_crs !: j-direction slope at v-, w-points |
---|
[5105] | 280 | #endif |
---|
| 281 | |
---|
| 282 | #else |
---|
| 283 | |
---|
[945] | 284 | !!---------------------------------------------------------------------- |
---|
| 285 | !! 'key_top' TOP models |
---|
| 286 | !!---------------------------------------------------------------------- |
---|
[186] | 287 | |
---|
[945] | 288 | !* Domain size * |
---|
| 289 | USE par_oce , ONLY : jpi => jpi !: first dimension of grid --> i |
---|
| 290 | USE par_oce , ONLY : jpj => jpj !: second dimension of grid --> j |
---|
| 291 | USE par_oce , ONLY : jpk => jpk !: number of levels |
---|
| 292 | USE par_oce , ONLY : jpim1 => jpim1 !: jpi - 1 |
---|
| 293 | USE par_oce , ONLY : jpjm1 => jpjm1 !: jpj - 1 |
---|
| 294 | USE par_oce , ONLY : jpkm1 => jpkm1 !: jpk - 1 |
---|
| 295 | USE par_oce , ONLY : jpij => jpij !: jpi x jpj |
---|
| 296 | USE par_oce , ONLY : lk_esopa => lk_esopa !: flag to activate the all option |
---|
[2528] | 297 | USE par_oce , ONLY : jp_tem => jp_tem !: indice for temperature |
---|
| 298 | USE par_oce , ONLY : jp_sal => jp_sal !: indice for salinity |
---|
[186] | 299 | |
---|
[5105] | 300 | !* model domain * |
---|
| 301 | USE dom_oce , ONLY : narea => narea |
---|
| 302 | USE dom_oce , ONLY : nproc => nproc |
---|
| 303 | USE dom_oce , ONLY : nimpp => nimpp |
---|
| 304 | USE dom_oce , ONLY : njmpp => njmpp |
---|
| 305 | USE dom_oce , ONLY : nreci => nreci |
---|
| 306 | USE dom_oce , ONLY : nrecj => nrecj |
---|
| 307 | USE dom_oce , ONLY : nlci => nlci |
---|
| 308 | USE dom_oce , ONLY : nldi => nldi |
---|
| 309 | USE dom_oce , ONLY : nlei => nlei |
---|
| 310 | USE dom_oce , ONLY : nlcj => nlcj |
---|
| 311 | USE dom_oce , ONLY : nldj => nldj |
---|
| 312 | USE dom_oce , ONLY : nlej => nlej |
---|
| 313 | USE dom_oce , ONLY : nlcit => nlcit |
---|
| 314 | USE dom_oce , ONLY : nldit => nldit |
---|
| 315 | USE dom_oce , ONLY : nleit => nleit |
---|
| 316 | USE dom_oce , ONLY : nlcjt => nlcjt |
---|
| 317 | USE dom_oce , ONLY : nldjt => nldjt |
---|
| 318 | USE dom_oce , ONLY : nlejt => nlejt |
---|
| 319 | USE dom_oce , ONLY : nimppt => nimppt |
---|
| 320 | USE dom_oce , ONLY : njmppt => njmppt |
---|
| 321 | USE dom_oce , ONLY : ibonit => ibonit |
---|
| 322 | USE dom_oce , ONLY : ibonjt => ibonjt |
---|
| 323 | USE dom_oce , ONLY : lk_vvl => lk_vvl |
---|
| 324 | USE dom_oce , ONLY : rdt => rdt |
---|
| 325 | USE dom_oce , ONLY : ln_zco => ln_zco |
---|
| 326 | USE dom_oce , ONLY : ln_zps => ln_zps |
---|
| 327 | USE dom_oce , ONLY : ln_sco => ln_sco |
---|
| 328 | USE dom_oce , ONLY : neuler => neuler |
---|
| 329 | |
---|
| 330 | USE dom_oce, ONLY : mi0 => mi0 |
---|
| 331 | USE dom_oce, ONLY : mi1 => mi1 |
---|
| 332 | USE dom_oce, ONLY : mj0 => mj0 |
---|
| 333 | USE dom_oce, ONLY : mj1 => mj1 |
---|
| 334 | |
---|
| 335 | USE dom_oce , ONLY : glamt => glamt !: longitude of t-point (degre) |
---|
| 336 | USE dom_oce , ONLY : glamu => glamu !: longitude of t-point (degre) |
---|
| 337 | USE dom_oce , ONLY : glamv => glamv !: longitude of t-point (degre) |
---|
| 338 | USE dom_oce , ONLY : glamf => glamf !: longitude of t-point (degre) |
---|
| 339 | USE dom_oce , ONLY : gphit => gphit !: latitude of t-point (degre) |
---|
| 340 | USE dom_oce , ONLY : gphiu => gphiu !: latitude of t-point (degre) |
---|
| 341 | USE dom_oce , ONLY : gphiv => gphiv !: latitude of t-point (degre) |
---|
| 342 | USE dom_oce , ONLY : gphif => gphif !: latitude of t-point (degre) |
---|
| 343 | USE dom_oce , ONLY : e1t => e1t !: horizontal scale factors at t-point (m) |
---|
| 344 | USE dom_oce , ONLY : e2t => e2t !: horizontal scale factors at t-point (m) |
---|
| 345 | USE dom_oce , ONLY : e1e2t => e1e2t !: cell surface at t-point (m2) |
---|
| 346 | USE dom_oce , ONLY : e1u => e1u !: horizontal scale factors at u-point (m) |
---|
| 347 | USE dom_oce , ONLY : e2u => e2u !: horizontal scale factors at u-point (m) |
---|
| 348 | USE dom_oce , ONLY : e1v => e1v !: horizontal scale factors at v-point (m) |
---|
| 349 | USE dom_oce , ONLY : e2v => e2v !: horizontal scale factors at v-point (m) |
---|
[6772] | 350 | #if defined key_vvl |
---|
| 351 | USE dom_oce , ONLY : e3t_b => e3t_b |
---|
| 352 | USE dom_oce , ONLY : e3t_n => e3t_n |
---|
| 353 | USE dom_oce , ONLY : e3t_a => e3t_a |
---|
| 354 | USE dom_oce , ONLY : e3u_n => e3u_n |
---|
| 355 | USE dom_oce , ONLY : e3v_n => e3v_n |
---|
| 356 | USE dom_oce , ONLY : e3u => e3u_n !: vertical scale factors at u- |
---|
| 357 | USE dom_oce , ONLY : e3v => e3v_n !: vertical scale factors v- |
---|
| 358 | USE dom_oce , ONLY : e3w_n => e3w_n !: w-points (m) |
---|
| 359 | USE dom_oce , ONLY : e3w => e3w_n !: w-points (m) |
---|
| 360 | USE dom_oce , ONLY : e3f => e3f_n !: f-points (m) |
---|
| 361 | USE dom_oce , ONLY : gdept_n => gdept_n !: f-points (m) |
---|
[7398] | 362 | USE dom_oce , ONLY : gdepw_n => gdepw_n !: f-points (m) |
---|
[6772] | 363 | #else |
---|
| 364 | USE dom_oce , ONLY : fse3t_n => e3t_0 |
---|
[5105] | 365 | USE dom_oce , ONLY : fse3t => e3t_0 |
---|
[6772] | 366 | USE dom_oce , ONLY : fse3u => e3u_0 |
---|
| 367 | USE dom_oce , ONLY : fse3v => e3v_0 |
---|
[5105] | 368 | USE dom_oce , ONLY : fse3w => e3w_0 |
---|
[6772] | 369 | USE dom_oce , ONLY : fse3t_b => e3t_0 |
---|
| 370 | USE dom_oce , ONLY : fse3t_a => e3t_0 |
---|
| 371 | USE dom_oce , ONLY : e3t_a => e3t_0 |
---|
[7398] | 372 | USE dom_oce , ONLY : e3t => e3t_0 !: vertical scale factors at t- |
---|
[5105] | 373 | USE dom_oce , ONLY : e3u => e3u_0 !: vertical scale factors at u- |
---|
| 374 | USE dom_oce , ONLY : e3v => e3v_0 !: vertical scale factors v- |
---|
| 375 | USE dom_oce , ONLY : e3w => e3w_0 !: w-points (m) |
---|
| 376 | USE dom_oce , ONLY : e3f => e3f_0 !: f-points (m) |
---|
[6772] | 377 | #endif |
---|
[5105] | 378 | USE dom_oce , ONLY : ff => ff !: f-points (m) |
---|
[7398] | 379 | USE dom_oce , ONLY : e3t_0 => e3t_0 !: vertical scale factors at t- |
---|
| 380 | USE dom_oce , ONLY : e3u_0 => e3u_0 !: vertical scale factors at u- |
---|
| 381 | USE dom_oce , ONLY : e3v_0 => e3v_0 !: vertical scale factors v- |
---|
| 382 | USE dom_oce , ONLY : e3w_0 => e3w_0 !: w-points (m) |
---|
[5105] | 383 | USE dom_oce , ONLY : gdept_0 => gdept_0 !: f-points (m) |
---|
[7521] | 384 | USE dom_oce , ONLY : gdepw_0 => gdepw_0 !: f-points (m) |
---|
[5105] | 385 | USE dom_oce , ONLY : gdept_1d => gdept_1d !: f-points (m) |
---|
| 386 | USE dom_oce , ONLY : tmask => tmask !: f-points (m) |
---|
| 387 | USE dom_oce , ONLY : umask => umask !: f-points (m) |
---|
| 388 | USE dom_oce , ONLY : vmask => vmask !: f-points (m) |
---|
| 389 | USE dom_oce , ONLY : tmask_i => tmask_i !: f-points (m) |
---|
| 390 | USE dom_oce , ONLY : mbkt => mbkt !: f-points (m) |
---|
| 391 | USE dom_oce , ONLY : mbku => mbku !: f-points (m) |
---|
| 392 | USE dom_oce , ONLY : mbkv => mbkv !: f-points (m) |
---|
[6101] | 393 | USE dom_oce , ONLY : mikt => mikt !: f-points (m) |
---|
[5105] | 394 | |
---|
[945] | 395 | !* IO manager * |
---|
[2528] | 396 | USE in_out_manager |
---|
[2715] | 397 | |
---|
[3294] | 398 | !* Memory Allocation * |
---|
| 399 | USE wrk_nemo |
---|
| 400 | |
---|
| 401 | !* Timing * |
---|
| 402 | USE timing |
---|
| 403 | |
---|
[2715] | 404 | !* MPP library |
---|
| 405 | USE lib_mpp |
---|
| 406 | |
---|
| 407 | !* Fortran utilities |
---|
[7320] | 408 | USE lib_fortran , ONLY : glob_sum => glob_sum |
---|
[2715] | 409 | |
---|
| 410 | !* Lateral boundary conditions |
---|
| 411 | USE lbclnk |
---|
| 412 | |
---|
[945] | 413 | !* physical constants * |
---|
[2528] | 414 | USE phycst |
---|
[186] | 415 | |
---|
[2528] | 416 | !* 1D configuration |
---|
| 417 | USE c1d |
---|
| 418 | |
---|
[945] | 419 | !* model domain * |
---|
[5105] | 420 | USE dom_oce , ONLY : lzoom => lzoom |
---|
[335] | 421 | |
---|
[4610] | 422 | USE domvvl, ONLY : un_td, vn_td !: thickness diffusion transport |
---|
| 423 | USE domvvl, ONLY : ln_vvl_ztilde !: ztilde vertical coordinate |
---|
| 424 | USE domvvl, ONLY : ln_vvl_layer !: level vertical coordinate |
---|
[186] | 425 | |
---|
[945] | 426 | !* ocean fields: here now and after fields * |
---|
| 427 | USE oce , ONLY : ua => ua !: i-horizontal velocity (m s-1) |
---|
| 428 | USE oce , ONLY : va => va !: j-horizontal velocity (m s-1) |
---|
| 429 | USE oce , ONLY : un => un !: i-horizontal velocity (m s-1) |
---|
| 430 | USE oce , ONLY : vn => vn !: j-horizontal velocity (m s-1) |
---|
| 431 | USE oce , ONLY : wn => wn !: vertical velocity (m s-1) |
---|
[2528] | 432 | USE oce , ONLY : tsn => tsn !: 4D array contaning ( tn, sn ) |
---|
| 433 | USE oce , ONLY : tsb => tsb !: 4D array contaning ( tb, sb ) |
---|
| 434 | USE oce , ONLY : tsa => tsa !: 4D array contaning ( ta, sa ) |
---|
[945] | 435 | USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3) |
---|
| 436 | USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
[5601] | 437 | USE oce , ONLY : rab_n => rab_n !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
| 438 | USE oce , ONLY : rn2b => rn2b !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
[945] | 439 | USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) |
---|
[3294] | 440 | USE oce , ONLY : rotn => rotn !: relative vorticity [s-1] |
---|
| 441 | USE oce , ONLY : hdivb => hdivb !: horizontal divergence (1/s) |
---|
| 442 | USE oce , ONLY : rotb => rotb !: relative vorticity [s-1] |
---|
| 443 | USE oce , ONLY : sshn => sshn !: sea surface height at t-point [m] |
---|
| 444 | USE oce , ONLY : sshb => sshb !: sea surface height at t-point [m] |
---|
| 445 | USE oce , ONLY : ssha => ssha !: sea surface height at t-point [m] |
---|
[2528] | 446 | USE oce , ONLY : l_traldf_rot => l_traldf_rot !: rotated laplacian operator for lateral diffusion |
---|
[201] | 447 | |
---|
[945] | 448 | !* surface fluxes * |
---|
| 449 | USE sbc_oce , ONLY : utau => utau !: i-surface stress component |
---|
| 450 | USE sbc_oce , ONLY : vtau => vtau !: j-surface stress component |
---|
[1011] | 451 | USE sbc_oce , ONLY : wndm => wndm !: 10m wind speed |
---|
[4306] | 452 | USE sbc_oce , ONLY : qsr => qsr !: penetrative solar radiation (w m-2) |
---|
[2528] | 453 | USE sbc_oce , ONLY : emp => emp !: freshwater budget: volume flux [Kg/m2/s] |
---|
[3294] | 454 | USE sbc_oce , ONLY : emp_b => emp_b !: freshwater budget: volume flux [Kg/m2/s] |
---|
[4148] | 455 | USE sbc_oce , ONLY : fmmflx => fmmflx !: freshwater budget: volume flux [Kg/m2/s] |
---|
[2528] | 456 | USE sbc_oce , ONLY : rnf => rnf !: river runoff [Kg/m2/s] |
---|
[5602] | 457 | USE sbc_oce , ONLY : ln_dm2dc => ln_dm2dc !: Diurnal Cycle |
---|
[1034] | 458 | USE sbc_oce , ONLY : fr_i => fr_i !: ice fraction (between 0 to 1) |
---|
[945] | 459 | USE sbcrnf , ONLY : rnfmsk => rnfmsk !: mixed adv scheme in runoffs vicinity (hori.) |
---|
| 460 | USE sbcrnf , ONLY : rnfmsk_z => rnfmsk_z !: mixed adv scheme in runoffs vicinity (vert.) |
---|
[3294] | 461 | USE sbcrnf , ONLY : h_rnf => h_rnf !: river runoff [Kg/m2/s] |
---|
[5602] | 462 | USE sbcrnf , ONLY : nk_rnf => nk_rnf !: depth of runoff in model level |
---|
[6772] | 463 | USE trc , ONLY : trc_i => trc_i |
---|
| 464 | USE trc , ONLY : trc_o => trc_o |
---|
[186] | 465 | |
---|
[945] | 466 | !* lateral diffusivity (tracers) * |
---|
[3294] | 467 | USE ldftra_oce , ONLY : rldf => rldf !: multiplicative coef. for lateral diffusivity |
---|
| 468 | USE ldftra_oce , ONLY : rn_aht_0 => rn_aht_0 !: horizontal eddy diffusivity for tracers (m2/s) |
---|
| 469 | USE ldftra_oce , ONLY : aht0 => aht0 !: horizontal eddy diffusivity for tracers (m2/s) |
---|
| 470 | USE ldftra_oce , ONLY : ahtb0 => ahtb0 !: background eddy diffusivity for isopycnal diff. (m2/s) |
---|
| 471 | USE ldftra_oce , ONLY : ahtu => ahtu !: lateral diffusivity coef. at u-points |
---|
| 472 | USE ldftra_oce , ONLY : ahtv => ahtv !: lateral diffusivity coef. at v-points |
---|
| 473 | USE ldftra_oce , ONLY : ahtw => ahtw !: lateral diffusivity coef. at w-points |
---|
| 474 | USE ldftra_oce , ONLY : ahtt => ahtt !: lateral diffusivity coef. at t-points |
---|
| 475 | USE ldftra_oce , ONLY : aeiv0 => aeiv0 !: eddy induced velocity coefficient (m2/s) |
---|
| 476 | USE ldftra_oce , ONLY : aeiu => aeiu !: eddy induced velocity coef. at u-points (m2/s) |
---|
| 477 | USE ldftra_oce , ONLY : aeiv => aeiv !: eddy induced velocity coef. at v-points (m2/s) |
---|
| 478 | USE ldftra_oce , ONLY : aeiw => aeiw !: eddy induced velocity coef. at w-points (m2/s) |
---|
| 479 | USE ldftra_oce , ONLY : lk_traldf_eiv => lk_traldf_eiv !: eddy induced velocity flag |
---|
[7256] | 480 | USE ldftra_oce , ONLY : r_fact_lap => r_fact_lap !: enhanced zonal diffusivity coefficient |
---|
[186] | 481 | |
---|
[945] | 482 | !* vertical diffusion * |
---|
| 483 | USE zdf_oce , ONLY : avt => avt !: vert. diffusivity coef. at w-point for temp |
---|
| 484 | # if defined key_zdfddm |
---|
[3294] | 485 | USE zdfddm , ONLY : avs => avs !: salinity vertical diffusivity coeff. at w-point |
---|
[945] | 486 | # endif |
---|
[186] | 487 | |
---|
[945] | 488 | !* mixing & mixed layer depth * |
---|
[1177] | 489 | USE zdfmxl , ONLY : nmln => nmln !: number of level in the mixed layer |
---|
[945] | 490 | USE zdfmxl , ONLY : hmld => hmld !: mixing layer depth (turbocline) |
---|
| 491 | USE zdfmxl , ONLY : hmlp => hmlp !: mixed layer depth (rho=rho0+zdcrit) (m) |
---|
| 492 | USE zdfmxl , ONLY : hmlpt => hmlpt !: mixed layer depth at t-points (m) |
---|
[281] | 493 | |
---|
[945] | 494 | !* direction of lateral diffusion * |
---|
| 495 | USE ldfslp , ONLY : lk_ldfslp => lk_ldfslp !: slopes flag |
---|
| 496 | # if defined key_ldfslp |
---|
| 497 | USE ldfslp , ONLY : uslp => uslp !: i-direction slope at u-, w-points |
---|
| 498 | USE ldfslp , ONLY : vslp => vslp !: j-direction slope at v-, w-points |
---|
| 499 | USE ldfslp , ONLY : wslpi => wslpi !: i-direction slope at u-, w-points |
---|
| 500 | USE ldfslp , ONLY : wslpj => wslpj !: j-direction slope at v-, w-points |
---|
| 501 | # endif |
---|
[201] | 502 | |
---|
[5602] | 503 | USE diaar5 , ONLY : lk_diaar5 => lk_diaar5 |
---|
| 504 | |
---|
[5105] | 505 | #endif |
---|
[5602] | 506 | |
---|
[6101] | 507 | |
---|
| 508 | USE dom_oce , ONLY : ndastp |
---|
| 509 | USE sbc_oce , ONLY : nn_ice_embd |
---|
| 510 | USE sbc_oce , ONLY : ln_cpl |
---|
[6772] | 511 | USE sbc_oce , ONLY : ln_rnf |
---|
[6101] | 512 | USE sbc_oce , ONLY : ncpl_qsr_freq |
---|
| 513 | |
---|
[945] | 514 | #else |
---|
| 515 | !!---------------------------------------------------------------------- |
---|
| 516 | !! Empty module : No passive tracer |
---|
| 517 | !!---------------------------------------------------------------------- |
---|
[186] | 518 | #endif |
---|
[201] | 519 | |
---|
[2528] | 520 | !!---------------------------------------------------------------------- |
---|
| 521 | !! NEMO/TOP 3.3 , NEMO Consortium (2010) |
---|
| 522 | !! $Id$ |
---|
| 523 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
[945] | 524 | !!====================================================================== |
---|
[186] | 525 | END MODULE oce_trc |
---|