- Timestamp:
- 2016-01-08T10:35:19+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/trc.F90
r4611 r6225 14 14 USE par_oce 15 15 USE par_trc 16 #if defined key_bdy 17 USE bdy_oce, only: nb_bdy, OBC_DATA 18 #endif 16 19 17 20 IMPLICIT NONE … … 34 37 REAL(wp), PUBLIC :: areatot !: total volume 35 38 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,: ) :: cvol !: volume correction -degrad option- 36 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: trn !: traceur concentration for now time step 37 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: tra !: traceur concentration for next time step 38 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: trb !: traceur concentration for before time step 39 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: trn !: tracer concentration for now time step 40 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: tra !: tracer concentration for next time step 41 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: trb !: tracer concentration for before time step 42 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,: ) :: sbc_trc_b !: Before sbc fluxes for tracers 43 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,: ) :: sbc_trc !: Now sbc fluxes for tracers 44 45 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,: ) :: trc_i !: prescribed tracer concentration in sea ice for SBC 46 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,: ) :: trc_o !: prescribed tracer concentration in ocean for SBC 47 INTEGER , PUBLIC :: nn_ice_tr !: handling of sea ice tracers 39 48 40 49 !! interpolated gradient … … 42 51 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtru !: hor. gradient at u-points at bottom ocean level 43 52 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrv !: hor. gradient at v-points at bottom ocean level 53 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrui !: hor. gradient at u-points at top ocean level 54 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrvi !: hor. gradient at v-points at top ocean level 55 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsr_mean !: daily mean qsr 44 56 45 57 !! passive tracers (input and output) … … 52 64 INTEGER , PUBLIC :: nn_rsttr !: control of the time step ( 0 or 1 ) for pass. tr. 53 65 CHARACTER(len = 80) , PUBLIC :: cn_trcrst_in !: suffix of pass. tracer restart name (input) 66 CHARACTER(len = 256), PUBLIC :: cn_trcrst_indir !: restart input directory 54 67 CHARACTER(len = 80) , PUBLIC :: cn_trcrst_out !: suffix of pass. tracer restart name (output) 55 REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: rdttrc !: vertical profile of passive tracer time step 68 CHARACTER(len = 256), PUBLIC :: cn_trcrst_outdir !: restart output directory 69 REAL(wp) , PUBLIC :: rdttrc !: passive tracer time step 56 70 LOGICAL , PUBLIC :: ln_top_euler !: boolean term for euler integration 57 71 LOGICAL , PUBLIC :: ln_trcdta !: Read inputs data from files … … 59 73 LOGICAL , PUBLIC :: ln_trcdmp_clo !: internal damping flag on closed seas 60 74 INTEGER , PUBLIC :: nittrc000 !: first time step of passive tracers model 75 LOGICAL , PUBLIC :: l_trcdm2dc !: Diurnal cycle for TOP 76 77 !! Information for the ice module for tracers 78 !! ------------------------------------------ 79 TYPE TRC_I_NML !--- Ice tracer namelist structure 80 REAL(wp) :: trc_ratio ! ice-ocean trc ratio 81 REAL(wp) :: trc_prescr ! prescribed ice trc cc 82 CHARACTER(len=2) :: ctrc_o ! choice of ocean trc cc 83 END TYPE 84 85 REAL(wp), DIMENSION(jptra), PUBLIC :: trc_ice_ratio, & ! ice-ocean tracer ratio 86 trc_ice_prescr ! prescribed ice trc cc 87 CHARACTER(len=2), DIMENSION(jptra), PUBLIC :: cn_trc_o ! choice of ocean tracer cc 61 88 62 89 !! information for outputs … … 67 94 CHARACTER(len = 20) :: clunit !: unit 68 95 LOGICAL :: llinit !: read in a file or not 96 #if defined key_my_trc 97 LOGICAL :: llsbc !: read in a file or not 98 LOGICAL :: llcbc !: read in a file or not 99 LOGICAL :: llobc !: read in a file or not 100 #endif 69 101 LOGICAL :: llsave !: save the tracer or not 70 102 END TYPE PTRACER … … 119 151 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: avs_tm !: vertical double diffusivity coeff. at w-point [m/s] 120 152 # endif 121 #if defined key_ldfslp122 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wslpi_tm !: i-direction slope at u-, w-points123 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wslpj_tm !: j-direction slope at u-, w-points124 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: uslp_tm !: j-direction slope at u-, w-points125 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: vslp_tm !: j-direction slope at u-, w-points126 #endif127 153 #if defined key_trabbl 128 154 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ahu_bbl_tm !: u-, w-points … … 159 185 #endif 160 186 ! 161 #if defined key_ldfslp162 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wslpi_temp, wslpj_temp, uslp_temp, vslp_temp !: hold current values163 #endif164 !165 187 # if defined key_zdfddm 166 188 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: avs_temp !: salinity vertical diffusivity coeff. at w-point [m/s] 167 189 # endif 168 190 ! 191 #if defined key_bdy 192 CHARACTER(len=20), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: cn_trc_dflt ! Default OBC condition for all tracers 193 CHARACTER(len=20), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: cn_trc ! Choice of boundary condition for tracers 194 INTEGER, PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nn_trcdmp_bdy !: =T Tracer damping 195 ! External data structure of BDY for TOP. Available elements: cn_obc, ll_trc, trcnow, dmp 196 TYPE(OBC_DATA), PUBLIC, ALLOCATABLE, DIMENSION(:,:), TARGET :: trcdta_bdy !: bdy external data (local process) 197 #endif 198 ! 169 199 170 200 !!---------------------------------------------------------------------- 171 201 !! NEMO/TOP 3.3.1 , NEMO Consortium (2010) 172 !! $Id$ 202 !! $Id$ 173 203 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 174 204 !!---------------------------------------------------------------------- … … 183 213 ! 184 214 ALLOCATE( trn(jpi,jpj,jpk,jptra), trb(jpi,jpj,jpk,jptra), tra(jpi,jpj,jpk,jptra), & 185 & gtru(jpi,jpj,jpk) , gtrv(jpi,jpj,jpk) , & 186 & cvol(jpi,jpj,jpk) , rdttrc(jpk) , trai(jptra) , & 215 & trc_i(jpi,jpj,jptra) , trc_o(jpi,jpj,jptra) , & 216 & gtru (jpi,jpj,jptra) , gtrv (jpi,jpj,jptra) , & 217 & gtrui(jpi,jpj,jptra) , gtrvi(jpi,jpj,jptra) , & 218 & sbc_trc_b(jpi,jpj,jptra), sbc_trc(jpi,jpj,jptra) , & 219 & cvol(jpi,jpj,jpk) , trai(jptra) , & 187 220 & ctrcnm(jptra) , ctrcln(jptra) , ctrcun(jptra) , & 188 & ln_trc_ini(jptra) , ln_trc_wri(jptra) , STAT = trc_alloc ) 221 & ln_trc_ini(jptra) , ln_trc_wri(jptra) , qsr_mean(jpi,jpj) , & 222 #if defined key_my_trc 223 & ln_trc_sbc(jptra) , ln_trc_cbc(jptra) , ln_trc_obc(jptra) , & 224 #endif 225 #if defined key_bdy 226 & cn_trc_dflt(nb_bdy) , cn_trc(nb_bdy) , nn_trcdmp_bdy(nb_bdy) , & 227 & trcdta_bdy(jptra,nb_bdy) , & 228 #endif 229 & STAT = trc_alloc ) 189 230 190 231 IF( trc_alloc /= 0 ) CALL ctl_warn('trc_alloc: failed to allocate arrays')
Note: See TracChangeset
for help on using the changeset viewer.