- Timestamp:
- 2010-09-14T22:29:38+02:00 (14 years ago)
- Location:
- branches/DEV_r1837_MLF/NEMO/OPA_SRC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r1837_MLF/NEMO/OPA_SRC/SBC/sbc_oce.F90
r2068 r2091 53 53 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: emp_tot !: total E-P-R over ocean and ice [Kg/m2/s] 54 54 ! - ML - begin 55 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_ trd_hc_n!: sbc heat content trend now [K/m/s]56 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_ trd_hc_b!: " " " " before "57 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_ trd_sc_n!: sbc salt content trend now [psu/m/s]58 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_ trd_sc_b!: " " " " before "59 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: qsr_ trd_hc_n!: heat content trend due to qsr flux now [K/m/s]60 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: qsr_ trd_hc_b!: " " " " " " " before "55 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_hc_n !: sbc heat content trend now [K/m/s] 56 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_hc_b !: " " " " before " 57 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_sc_n !: sbc salt content trend now [psu/m/s] 58 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: sbc_sc_b !: " " " " before " 59 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: qsr_hc_n !: heat content trend due to qsr flux now [K/m/s] 60 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: qsr_hc_b !: " " " " " " " before " 61 61 ! - ML - end 62 62 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tprecip !: total precipitation [Kg/m2/s] -
branches/DEV_r1837_MLF/NEMO/OPA_SRC/SBC/sbcmod.F90
r2068 r2091 198 198 emp_b (:,:) = emp (:,:) 199 199 emps_b(:,:) = emps(:,:) 200 ! - ML -201 ! sbc_trd_hc_b(:,:) = sbc_trd_hc_n(:,:)202 ! qsr_trd_hc_b(:,:,:) = qsr_trd_hc_n(:,:,:)203 ! IF ( .NOT. lk_vvl ) sbc_trd_sc_b(:,:) = sbc_trd_sc_n(:,:)204 200 205 201 ENDIF … … 266 262 CALL iom_get( numror, jpdom_autoglo, 'emp_b' , emp_b ) ! before freshwater flux (T-point) 267 263 CALL iom_get( numror, jpdom_autoglo, 'emps_b', emps_b ) ! before C/D freshwater flux (T-point) 268 ! - ML -269 ! CALL iom_get( numror, jpdom_autoglo, 'sbc_trd_hc_b', sbc_trd_hc_b ) ! before heat content sbc trend270 ! CALL iom_get( numror, jpdom_autoglo, 'qsr_trd_hc_b', qsr_trd_hc_b ) ! before heat content trend due to Qsr flux271 ! IF ( .NOT. lk_vvl ) THEN272 ! CALL iom_get( numror, jpdom_autoglo, 'sbc_trd_sc_b', sbc_trd_sc_b ) ! before salt content sbc trend273 ! ENDIF274 !275 264 ELSE !* no restart: set from nit000 values 276 265 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields set to nit000' … … 291 280 & 'at it= ', kt,' date= ', ndastp 292 281 IF(lwp) WRITE(numout,*) '~~~~' 293 CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) !282 CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 294 283 CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau ) 295 284 CALL iom_rstput( kt, nitrst, numrow, 'qns_b' , qns ) … … 297 286 CALL iom_rstput( kt, nitrst, numrow, 'emp_b' , emp ) 298 287 CALL iom_rstput( kt, nitrst, numrow, 'emps_b' , emps ) 299 ! - ML -300 ! CALL iom_rstput( kt, nitrst, numrow, 'sbc_trd_hc_b', sbc_trd_hc_n )301 ! CALL iom_rstput( kt, nitrst, numrow, 'qsr_trd_hc_b', qsr_trd_hc_n )302 ! IF ( .NOT. lk_vvl ) THEN303 ! CALL iom_rstput( kt, nitrst, numrow, 'sbc_trd_sc_b', sbc_trd_sc_n )304 ! ENDIF305 !306 288 ENDIF 307 289 -
branches/DEV_r1837_MLF/NEMO/OPA_SRC/TRA/tranxt.F90
r2068 r2091 298 298 ! ! Filter correction 299 299 IF( jk == 1 ) THEN 300 ! WRITE(numout,*) 'filter correction: sbc_trd_hc_n'301 z e3t_f = ze3t_f - zfact2 * ( emp_b (ji,jj) - emp(ji,jj) )302 z tc_f = ztc_f - zfact1 * ( sbc_trd_hc_n(ji,jj) - sbc_trd_hc_b(ji,jj) )300 ze3t_f = ze3t_f - zfact2 * ( emp_b (ji,jj) - emp (ji,jj) ) 301 ztc_f = ztc_f - zfact1 * ( sbc_hc_n(ji,jj) - sbc_hc_b(ji,jj) ) 302 zsc_f = zsc_f - zfact1 * ( sbc_sc_n(ji,jj) - sbc_sc_b(ji,jj) ) 303 303 ENDIF 304 304 IF( ln_traqsr .AND. ( jk .LE. nksr ) ) THEN 305 ! WRITE(numout,*) 'jk =', jk 306 ! WRITE(numout,*) 'filter correction: qsr_trd_hc_n' 307 ztc_f = ztc_f - zfact1 * ( qsr_trd_hc_n(ji,jj,jk) - qsr_trd_hc_b(ji,jj,jk) ) 305 ztc_f = ztc_f - zfact1 * ( qsr_hc_n(ji,jj,jk) - qsr_hc_b(ji,jj,jk) ) 308 306 ENDIF 309 307 ! swap of arrays -
branches/DEV_r1837_MLF/NEMO/OPA_SRC/TRA/traqsr.F90
r2068 r2091 22 22 USE trc_oce ! share SMS/Ocean variables 23 23 USE trdmod_oce ! ocean variables trends 24 USE trdmod ! ocean active tracers trends 24 USE trdmod ! ocean active tracers trends 25 USE iom 25 26 USE in_out_manager ! I/O manager 26 27 USE phycst ! physical constants … … 28 29 USE iom ! I/O manager 29 30 USE fldread ! read input fields 31 USE restart ! ocean restart 30 32 31 33 IMPLICIT NONE … … 97 99 REAL(wp) :: zchl, zcoef, zsi0r ! temporary scalars 98 100 REAL(wp) :: zc0, zc1, zc2, zc3 ! - - 101 REAL(wp) :: z1_e3t, zfact ! - - 99 102 REAL(wp), DIMENSION(jpi,jpj) :: zekb, zekg, zekr ! 2D workspace 100 103 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze0, ze1 , ze2, ze3, zea ! 3D workspace … … 113 116 ztrds(:,:,:) = 0.e0 114 117 ENDIF 115 116 ! ! ---------------------------------------- ! 117 ! ! Swap of forcing field ! 118 ! ! ---------------------------------------- ! 119 IF( kt /= nit000 ) qsr_trd_hc_b(:,:,:) = qsr_trd_hc_n(:,:,:) 120 ! ! ---------------------------------------- ! 121 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 122 ! ! ---------------------------------------- ! 123 IF( ln_rstart .AND. & !* Restart: read in restart file 124 & iom_varid( numror, 'qsr_trd_hc_b', ldstop = .FALSE. ) > 0 ) THEN 125 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields red in the restart file' 126 CALL iom_get( numror, jpdom_autoglo, 'qsr_trd_hc_b', qsr_trd_hc_b ) ! before heat content trend due to Qsr flux 127 ENDIF 128 ENDIF 129 130 118 ! Set before qsr tracer content field 119 ! *********************************** 120 IF( kt == nit000 ) THEN ! Set the forcing field at nit000 - 1 121 ! ! ----------------------------------- 122 IF( ln_rstart .AND. & ! Restart: read in restart file 123 & iom_varid( numror, 'qsr_hc_b', ldstop = .FALSE. ) > 0 ) THEN 124 IF(lwp) WRITE(numout,*) ' nit000-1 qsr tracer content forcing field red in the restart file' 125 zfact = 0.5e0 126 CALL iom_get( numror, jpdom_autoglo, 'qsr_hc_b', qsr_hc_b ) ! before heat content trend due to Qsr flux 127 ELSE ! No restart or restart not found: Euler forward time stepping 128 zfact = 1.e0 129 qsr_hc_b(:,:,:) = 0.e0 130 ENDIF 131 ELSE ! Swap of forcing field 132 ! ! --------------------- 133 zfact = 0.5e0 134 qsr_hc_b(:,:,:) = qsr_hc_n(:,:,:) 135 ENDIF 136 ! Compute now qsr tracer content field 137 ! ************************************ 131 138 ! ! ============================================== ! 132 139 IF( lk_qsr_bio .AND. ln_qsr_bio ) THEN ! bio-model fluxes : all vertical coordinates ! … … 136 143 DO ji = fs_2, fs_jpim1 ! vector opt. 137 144 !!gm how to stecify the mean of time step here : TOP versus OPA time stepping strategy not obvious 138 qsr_ trd_hc_n(ji,jj,jk) = ro0cpr * ( etot3(ji,jj,jk) - etot3(ji,jj,jk+1) )145 qsr_hc_n(ji,jj,jk) = ro0cpr * ( etot3(ji,jj,jk) - etot3(ji,jj,jk+1) ) 139 146 END DO 140 147 END DO … … 195 202 ! 196 203 DO jk = 1, nksr ! compute and add qsr trend to ta 197 qsr_ trd_hc_n(:,:,jk) = ro0cpr * ( zea(:,:,jk) - zea(:,:,jk+1) )204 qsr_hc_n(:,:,jk) = ro0cpr * ( zea(:,:,jk) - zea(:,:,jk+1) ) 198 205 END DO 199 206 zea(:,:,nksr+1:jpk) = 0.e0 ! below 400m set to zero … … 202 209 ELSE !* Constant Chlorophyll 203 210 DO jk = 1, nksr 204 qsr_ trd_hc_n(:,:,jk) = etot3(:,:,jk) * qsr(:,:)211 qsr_hc_n(:,:,jk) = etot3(:,:,jk) * qsr(:,:) 205 212 END DO 206 213 ENDIF … … 213 220 DO jj = 2, jpjm1 214 221 DO ji = fs_2, fs_jpim1 ! vector opt. 215 qsr_ trd_hc_n(ji,jj,jk) = etot3(ji,jj,jk) * qsr(ji,jj)222 qsr_hc_n(ji,jj,jk) = etot3(ji,jj,jk) * qsr(ji,jj) 216 223 END DO 217 224 END DO … … 221 228 ! 222 229 ENDIF 223 224 ! Add qsr trend to ta in all cases 225 IF( neuler == 0 .AND. kt == nit000 ) THEN 226 DO jk = 1, nksr 227 DO jj = 2, jpjm1 228 DO ji = fs_2, fs_jpim1 ! vector opt. 229 ta(ji,jj,jk) = ta(ji,jj,jk) + qsr_trd_hc_n(ji,jj,jk) / fse3t(ji,jj,jk) 230 END DO 230 ! Add to the general trend 231 ! ************************ 232 DO jk = 1, nksr 233 DO jj = 2, jpjm1 234 DO ji = fs_2, fs_jpim1 ! vector opt. 235 z1_e3t = zfact / fse3t(ji,jj,jk) 236 ta(ji,jj,jk) = ta(ji,jj,jk) + ( qsr_hc_b(ji,jj,jk) + qsr_hc_n(ji,jj,jk) ) * z1_e3t 231 237 END DO 232 238 END DO 233 ELSE 234 DO jk = 1, nksr 235 DO jj = 2, jpjm1 236 DO ji = fs_2, fs_jpim1 ! vector opt. 237 ta(ji,jj,jk) = ta(ji,jj,jk) + 0.5 * ( qsr_trd_hc_b(ji,jj,jk) + qsr_trd_hc_n(ji,jj,jk) ) / fse3t(ji,jj,jk) 238 END DO 239 END DO 240 END DO 241 ENDIF 242 243 ! ! ---------------------------------------- ! 244 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 245 ! ! ---------------------------------------- ! 239 END DO 240 ! 241 IF( lrst_oce ) THEN ! Write in the ocean restart file 242 ! ******************************* 246 243 IF(lwp) WRITE(numout,*) 247 IF(lwp) WRITE(numout,*) 'qsr : penetrative solar radiationforcing field written in ocean restart file ', &244 IF(lwp) WRITE(numout,*) 'qsr tracer content forcing field written in ocean restart file ', & 248 245 & 'at it= ', kt,' date= ', ndastp 249 246 IF(lwp) WRITE(numout,*) '~~~~' 250 CALL iom_rstput( kt, nitrst, numrow, 'qsr_ trd_hc_b', qsr_trd_hc_n )247 CALL iom_rstput( kt, nitrst, numrow, 'qsr_hc_b', qsr_hc_n ) 251 248 ! 252 249 ENDIF -
branches/DEV_r1837_MLF/NEMO/OPA_SRC/TRA/trasbc.F90
r2068 r2091 106 106 INTEGER, INTENT(in) :: kt ! ocean time-step index 107 107 !! 108 INTEGER :: ji, jj ! dummy loop indices109 REAL(wp) :: zsrau, z se3t! temporary scalars108 INTEGER :: ji, jj ! dummy loop indices 109 REAL(wp) :: zsrau, z1_e3t, zfact ! temporary scalars 110 110 !!---------------------------------------------------------------------- 111 111 … … 117 117 118 118 zsrau = 1. / rau0 ! initialization 119 #if defined key_zco120 zse3t = 1. / e3t_0(1)121 #endif122 119 123 120 IF( l_trdtra ) THEN ! Save ta and sa trends … … 134 131 ENDIF 135 132 ENDIF 136 ! ! ---------------------------------------- ! 137 IF( kt /= nit000 ) THEN ! Swap of forcing fields ! 138 ! ! ---------------------------------------- ! 139 sbc_trd_hc_b(:,:) = sbc_trd_hc_n(:,:) ! Swap the ocean forcing fields except at nit000 140 IF ( .NOT. lk_vvl ) sbc_trd_sc_b(:,:) = sbc_trd_sc_n(:,:) 141 ENDIF 142 ! ! ---------------------------------------- ! 143 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 144 ! ! ---------------------------------------- ! 145 IF( ln_rstart .AND. & !* Restart: read in restart file 146 & iom_varid( numror, 'sbc_trd_hc_b', ldstop = .FALSE. ) > 0 ) THEN 147 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields red in the restart file' 148 CALL iom_get( numror, jpdom_autoglo, 'sbc_trd_hc_b', sbc_trd_hc_b ) ! before heat content sbc trend 149 CALL iom_get( numror, jpdom_autoglo, 'qsr_trd_hc_b', qsr_trd_hc_b ) ! before heat content trend due to Qsr flux 150 IF ( .NOT. lk_vvl ) THEN 151 CALL iom_get( numror, jpdom_autoglo, 'sbc_trd_sc_b', sbc_trd_sc_b ) ! before salt content sbc trend 152 ENDIF 133 ! Set before sbc tracer content fields 134 ! ************************************ 135 IF( kt == nit000 ) THEN ! Set the forcing field at nit000 - 1 136 ! ! ----------------------------------- 137 IF( ln_rstart .AND. & ! Restart: read in restart file 138 & iom_varid( numror, 'sbc_hc_b', ldstop = .FALSE. ) > 0 ) THEN 139 IF(lwp) WRITE(numout,*) ' nit000-1 surface tracer content forcing fields red in the restart file' 140 zfact = 0.5e0 141 CALL iom_get( numror, jpdom_autoglo, 'sbc_hc_b', sbc_hc_b ) ! before heat content sbc trend 142 CALL iom_get( numror, jpdom_autoglo, 'sbc_sc_b', sbc_sc_b ) ! before salt content sbc trend 143 ELSE ! No restart or restart not found: Euler forward time stepping 144 zfact = 1.e0 145 sbc_hc_b(:,:) = 0.e0 146 sbc_sc_b(:,:) = 0.e0 153 147 ENDIF 154 E NDIF155 ! ! ---------------------- !156 IF( lk_vvl ) THEN ! Variable Volume case !157 ! ! ---------------------- !158 !!gm BUG : in key_vvl emps must be modified to only include the salt flux due to sea-ice freezing/melting 159 !!gm otherwise this flux will be missing ==> modification required in limsbc, limsbc_2 and CICE interface.s 160 IF ( neuler == 0 .AND. kt == nit000 ) THEN161 DO jj = 2, jpj162 DO ji = fs_2, fs_jpim1 ! vector opt.163 ! temperature : heat flux + cooling/heating effet of EMP flux164 sbc_trd_hc_n(ji,jj) = ro0cpr * qns(ji,jj) - zsrau * emp(ji,jj) * tn(ji,jj,1)165 #if ! defined key_zco 166 zse3t = 1. / fse3t(ji,jj,1)167 #endif 168 ta(ji,jj,1) = ta(ji,jj,1) + zse3t * sbc_trd_hc_n(ji,jj)169 END DO148 ELSE ! Swap of forcing fields 149 ! ! ---------------------- 150 zfact = 0.5e0 151 sbc_hc_b(:,:) = sbc_hc_n(:,:) 152 sbc_sc_b(:,:) = sbc_sc_n(:,:) 153 ENDIF 154 ! Compute now sbc tracer content fields 155 ! ************************************* 156 IF( lk_vvl ) THEN ! Variable Volume case 157 ! ! -------------------- 158 DO jj = 2, jpj 159 DO ji = fs_2, fs_jpim1 ! vector opt. 160 ! temperature : heat flux + cooling/heating effet of EMP flux 161 sbc_hc_n(ji,jj) = ro0cpr * qns(ji,jj) - zsrau * emp(ji,jj) * tn(ji,jj,1) 162 ! concent./dilut. effect due to sea-ice melt/formation and (possibly) SSS restoration 163 sbc_sc_n(ji,jj) = ( emps(ji,jj) - emp(ji,jj) ) * zsrau * sn(ji,jj,1) 170 164 END DO 171 ELSE 172 DO jj = 2, jpj 173 DO ji = fs_2, fs_jpim1 ! vector opt. 174 ! temperature : heat flux + cooling/heating effet of EMP flux 175 sbc_trd_hc_n(ji,jj) = ro0cpr * qns(ji,jj) - zsrau * emp(ji,jj) * tn(ji,jj,1) 176 #if ! defined key_zco 177 zse3t = 1. / fse3t(ji,jj,1) 178 #endif 179 ta(ji,jj,1) = ta(ji,jj,1) + 0.5 * ( sbc_trd_hc_b(ji,jj) + sbc_trd_hc_n(ji,jj) ) * zse3t 180 END DO 165 END DO 166 ELSE ! Constant Volume case 167 ! ! -------------------- 168 DO jj = 2, jpj 169 DO ji = fs_2, fs_jpim1 ! vector opt. 170 ! temperature : heat flux 171 sbc_hc_n(ji,jj) = ro0cpr * qns(ji,jj) 172 ! salinity : salt flux + concent./dilut. effect (both in emps) 173 sbc_sc_n(ji,jj) = zsrau * emps(ji,jj) * sn(ji,jj,1) 181 174 END DO 182 ENDIF 183 ! ! ---------------------- ! 184 ELSE ! Constant Volume case ! 185 ! ! ---------------------- ! 186 IF ( neuler == 0 .AND. kt == nit000 ) THEN 187 DO jj = 2, jpj 188 DO ji = fs_2, fs_jpim1 ! vector opt. 189 ! temperature : heat flux 190 sbc_trd_hc_n(ji,jj) = ro0cpr * qns(ji,jj) 191 ! salinity : salt flux + concent./dilut. effect (both in emps) 192 sbc_trd_sc_n(ji,jj) = zsrau * emps(ji,jj) * sn(ji,jj,1) 193 #if ! defined key_zco 194 zse3t = 1. / fse3t(ji,jj,1) 195 #endif 196 ta(ji,jj,1) = ta(ji,jj,1) + sbc_trd_hc_n(ji,jj) * zse3t 197 sa(ji,jj,1) = sa(ji,jj,1) + sbc_trd_sc_n(ji,jj) * zse3t 198 END DO 199 END DO 200 ELSE 201 DO jj = 2, jpj 202 DO ji = fs_2, fs_jpim1 ! vector opt. 203 ! temperature : heat flux 204 sbc_trd_hc_n(ji,jj) = ro0cpr * qns(ji,jj) 205 ! salinity : salt flux + concent./dilut. effect (both in emps) 206 sbc_trd_sc_n(ji,jj) = zsrau * emps(ji,jj) * sn(ji,jj,1) 207 #if ! defined key_zco 208 zse3t = 1. / fse3t(ji,jj,1) 209 #endif 210 ! temperature : heat flux 211 ta(ji,jj,1) = ta(ji,jj,1) + 0.5 * ( sbc_trd_hc_b(ji,jj) + sbc_trd_hc_n(ji,jj) ) * zse3t 212 sa(ji,jj,1) = sa(ji,jj,1) + 0.5 * ( sbc_trd_sc_b(ji,jj) + sbc_trd_sc_n(ji,jj) ) * zse3t 213 END DO 214 END DO 215 ENDIF 216 ! 217 ENDIF 218 219 ! ! ---------------------------------------- ! 220 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 221 ! ! ---------------------------------------- ! 222 IF(lwp) WRITE(numout,*) 223 IF(lwp) WRITE(numout,*) 'sbc : ocean surface forcing fields written in ocean restart file ', & 224 & 'at it= ', kt,' date= ', ndastp 225 IF(lwp) WRITE(numout,*) '~~~~' 226 CALL iom_rstput( kt, nitrst, numrow, 'sbc_trd_hc_b', sbc_trd_hc_n ) 227 IF ( .NOT. lk_vvl ) CALL iom_rstput( kt, nitrst, numrow, 'sbc_trd_sc_b', sbc_trd_sc_n ) 228 ! 229 ENDIF 230 175 END DO 176 ENDIF 177 ! Add to the general trend 178 ! ************************ 179 DO jj = 2, jpj 180 DO ji = fs_2, fs_jpim1 ! vector opt. 181 z1_e3t = zfact / fse3t(ji,jj,1) 182 ta(ji,jj,1) = ta(ji,jj,1) + ( sbc_hc_b(ji,jj) + sbc_hc_n(ji,jj) ) * z1_e3t 183 sa(ji,jj,1) = sa(ji,jj,1) + ( sbc_sc_b(ji,jj) + sbc_sc_n(ji,jj) ) * z1_e3t 184 END DO 185 END DO 186 ! Write in the ocean restart file 187 ! ******************************* 188 IF(lwp) WRITE(numout,*) 189 IF(lwp) WRITE(numout,*) 'sbc : ocean surface tracer content forcing fields written in ocean restart file ', & 190 & 'at it= ', kt,' date= ', ndastp 191 IF(lwp) WRITE(numout,*) '~~~~' 192 CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_hc_n ) 193 CALL iom_rstput( kt, nitrst, numrow, 'sbc_sc_b', sbc_sc_n ) 194 231 195 IF( l_trdtra ) THEN ! save the sbc trends for diagnostic 232 196 ztrdt(:,:,:) = ta(:,:,:) - ztrdt(:,:,:)
Note: See TracChangeset
for help on using the changeset viewer.