Changeset 2002
- Timestamp:
- 2010-07-09T14:19:55+02:00 (13 years ago)
- Location:
- branches/dev_1784_ASM/NEMO/OPA_SRC
- Files:
-
- 4 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_1784_ASM/NEMO/OPA_SRC/DYN/sshwzv.F90
r1756 r2002 5 5 !!============================================================================== 6 6 !! History : 3.1 ! 2009-02 (G. Madec, M. Leclair) Original code 7 !! 3.3 ! 2010-05 (K. Mogensen, A. Weaver, M. Martin, D. Lea) Assimilation interface 7 8 !!---------------------------------------------------------------------- 8 9 … … 27 28 USE diaar5, ONLY : lk_diaar5 28 29 USE iom 30 USE asminc ! Assimilation increment 29 31 30 32 IMPLICIT NONE … … 187 189 ENDIF 188 190 191 ! Include the IAU weighted SSH increment 192 IF( ( lk_asminc ).AND.( ln_sshinc ).AND.( ln_asmiau ) ) THEN 193 CALL ssh_asm_inc( kt ) 194 ssha(:,:) = ssha(:,:) + z2dt * ssh_iau(:,:) 195 ENDIF 196 189 197 ! !------------------------------! 190 198 ! ! Now Vertical Velocity ! -
branches/dev_1784_ASM/NEMO/OPA_SRC/TRA/tradmp.F90
r1601 r2002 47 47 LOGICAL, PUBLIC :: lk_tradmp = .TRUE. !: internal damping flag 48 48 #endif 49 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: strdmp !: damping salinity trend (psu/s) 50 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: ttrdmp !: damping temperature trend (Centigrade/s) 49 51 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: resto !: restoring coeff. on T and S (s-1) 50 52 … … 91 93 INTEGER, INTENT(in) :: kt ! ocean time-step index 92 94 !! 95 REAL(wp) :: zta, zsa ! temporary scalars 93 96 INTEGER :: ji, jj, jk ! dummy loop indices 94 97 !!---------------------------------------------------------------------- … … 107 110 DO jj = 2, jpjm1 108 111 DO ji = fs_2, fs_jpim1 ! vector opt. 109 ta(ji,jj,jk) = ta(ji,jj,jk) + resto(ji,jj,jk) * ( t_dta(ji,jj,jk) - tb(ji,jj,jk) ) 110 sa(ji,jj,jk) = sa(ji,jj,jk) + resto(ji,jj,jk) * ( s_dta(ji,jj,jk) - sb(ji,jj,jk) ) 112 zta = resto(ji,jj,jk) * ( t_dta(ji,jj,jk) - tb(ji,jj,jk) ) 113 zsa = resto(ji,jj,jk) * ( s_dta(ji,jj,jk) - sb(ji,jj,jk) ) 114 ! add the trends to the general tracer trends 115 ta(ji,jj,jk) = ta(ji,jj,jk) + zta 116 sa(ji,jj,jk) = sa(ji,jj,jk) + zsa 117 ! save the salinity trend (used in asmtrj) 118 strdmp(ji,jj,jk) = zsa 119 ttrdmp(ji,jj,jk) = zta 111 120 END DO 112 121 END DO … … 118 127 DO ji = fs_2, fs_jpim1 ! vector opt. 119 128 IF( avt(ji,jj,jk) <= 5.e-4 ) THEN 120 ta(ji,jj,jk) = ta(ji,jj,jk) + resto(ji,jj,jk) * ( t_dta(ji,jj,jk) - tb(ji,jj,jk) ) 121 sa(ji,jj,jk) = sa(ji,jj,jk) + resto(ji,jj,jk) * ( s_dta(ji,jj,jk) - sb(ji,jj,jk) ) 129 zta = resto(ji,jj,jk) * ( t_dta(ji,jj,jk) - tb(ji,jj,jk) ) 130 zsa = resto(ji,jj,jk) * ( s_dta(ji,jj,jk) - sb(ji,jj,jk) ) 131 ELSE 132 zta = 0.e0 133 zsa = 0.e0 122 134 ENDIF 135 ! add the trends to the general tracer trends 136 ta(ji,jj,jk) = ta(ji,jj,jk) + zta 137 sa(ji,jj,jk) = sa(ji,jj,jk) + zsa 138 ! save the salinity trend (used in asmtrj) 139 strdmp(ji,jj,jk) = zsa 140 ttrdmp(ji,jj,jk) = zta 123 141 END DO 124 142 END DO … … 130 148 DO ji = fs_2, fs_jpim1 ! vector opt. 131 149 IF( fsdept(ji,jj,jk) >= hmlp (ji,jj) ) THEN 132 ta(ji,jj,jk) = ta(ji,jj,jk) + resto(ji,jj,jk) * ( t_dta(ji,jj,jk) - tb(ji,jj,jk) ) 133 sa(ji,jj,jk) = sa(ji,jj,jk) + resto(ji,jj,jk) * ( s_dta(ji,jj,jk) - sb(ji,jj,jk) ) 150 zta = resto(ji,jj,jk) * ( t_dta(ji,jj,jk) - tb(ji,jj,jk) ) 151 zsa = resto(ji,jj,jk) * ( s_dta(ji,jj,jk) - sb(ji,jj,jk) ) 152 ELSE 153 zta = 0.e0 154 zsa = 0.e0 134 155 ENDIF 156 ! add the trends to the general tracer trends 157 ta(ji,jj,jk) = ta(ji,jj,jk) + zta 158 sa(ji,jj,jk) = sa(ji,jj,jk) + zsa 159 ! save the salinity trend (used in asmtrj) 160 strdmp(ji,jj,jk) = zsa 161 ttrdmp(ji,jj,jk) = zta 135 162 END DO 136 163 END DO … … 199 226 & CALL ctl_stop( 'no temperature and/or salinity data define key_dtatem and key_dtasal' ) 200 227 228 strdmp(:,:,:) = 0.e0 ! internal damping salinity trend (used in asmtrj) 229 ttrdmp(:,:,:) = 0.e0 201 230 ! ! Damping coefficients initialization 202 231 IF( lzoom ) THEN ; CALL dtacof_zoom -
branches/dev_1784_ASM/NEMO/OPA_SRC/ZDF/zdftke.F90
r1756 r2002 87 87 88 88 REAL(wp), DIMENSION(jpi,jpj) :: htau ! depth of tke penetration (nn_htau) 89 REAL(wp), DIMENSION(jpi,jpj,jpk) :: en ! now turbulent kinetic energy [m2/s2]89 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: en ! now turbulent kinetic energy [m2/s2] 90 90 REAL(wp), DIMENSION(jpi,jpj,jpk) :: dissl ! now mixing lenght of dissipation 91 91 -
branches/dev_1784_ASM/NEMO/OPA_SRC/opa.F90
r1725 r2002 25 25 !! - ! 2007-07 (J. Chanut, A. Sellar) Unstructured open boundaries (BDY) 26 26 !! 3.2 ! 2009-08 (S. Masson) open/write in the listing file in mpp 27 !! 3.3 ! 2010-05 (K. Mogensen, A. Weaver, M. Martin, D. Lea) Assimilation interface 27 28 !!---------------------------------------------------------------------- 28 29 … … 53 54 USE phycst ! physical constant (par_cst routine) 54 55 USE trdmod ! momentum/tracers trends (trd_mod_init routine) 56 USE asminc ! assimilation increments (asm_inc_init routine) 57 USE asmtrj ! writing out state trajectory 58 USE sshwzv ! vertical velocity used in asm 55 59 USE diaptr ! poleward transports (dia_ptr_init routine) 56 60 USE step ! OPA time-stepping (stp routine) … … 133 137 END DO 134 138 ELSE !== 3D ocean with ==! 139 IF( lk_asminc ) THEN 140 IF( ln_bkgwri ) CALL asm_bkg_wri( nit000 - 1 ) ! Output background fields 141 IF( ln_trjwri ) CALL asm_trj_wri( nit000 - 1 ) ! Output trajectory fields 142 IF( ln_asmdin ) THEN ! Direct initialization 143 IF( ln_trainc ) CALL tra_asm_inc( nit000 - 1 ) ! Tracers 144 IF( ln_dyninc ) THEN 145 CALL dyn_asm_inc( nit000 - 1 ) ! Dynamics 146 IF ( ln_asmdin ) CALL ssh_wzv ( nit000 - 1 ) ! update vertical velocity 147 ENDIF 148 IF( ln_sshinc ) CALL ssh_asm_inc( nit000 - 1 ) ! SSH 149 ENDIF 150 ENDIF 151 135 152 DO WHILE ( istp <= nitend .AND. nstop == 0 ) 136 153 #if defined key_agrif … … 271 288 CALL dia_ptr_init ! Poleward TRansports initialization 272 289 CALL trd_mod_init ! Mixed-layer/Vorticity/Integral constraints trends 290 291 IF( lk_asminc ) CALL asm_inc_init ! Initialize assimilation increments 292 IF(lwp) WRITE(numout,*)'Euler time step switch is ', neuler 293 273 294 ! 274 295 END SUBROUTINE opa_init -
branches/dev_1784_ASM/NEMO/OPA_SRC/step.F90
r1756 r2002 21 21 !! 3.2 ! 2009-02 (G. Madec, R. Benshila) reintroduicing z*-coordinate 22 22 !! - ! 2009-06 (S. Masson, G. Madec) TKE restart compatible with key_cpl 23 !! 3.3 ! 2010-05 (K. Mogensen, A. Weaver, M. Martin, D. Lea) Assimilation interface 23 24 !!---------------------------------------------------------------------- 24 25 … … 113 114 USE floats ! floats computation (flo_stp routine) 114 115 116 USE asminc ! assimilation increments (tra_asm_inc, dyn_asm_inc routines) 115 117 USE stpctl ! time stepping control (stp_ctl routine) 116 118 USE restart ! ocean restart (rst_wri routine) … … 262 264 sa(:,:,:) = 0.e0 263 265 266 IF( ln_asmiau .AND. & 267 & ln_trainc ) CALL tra_asm_inc( kstp ) ! apply tracer assimilation increment 264 268 CALL tra_sbc ( kstp ) ! surface boundary condition 265 269 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr … … 300 304 va(:,:,:) = 0.e0 301 305 306 IF( ln_asmiau .AND. & 307 & ln_dyninc ) CALL dyn_asm_inc( kstp ) ! apply dynamics assimilation increment 302 308 CALL dyn_adv( kstp ) ! advection (vector or flux form) 303 309 CALL dyn_vor( kstp ) ! vorticity term including Coriolis
Note: See TracChangeset
for help on using the changeset viewer.