- Timestamp:
- 2011-02-15T12:58:59+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/TAM_V3_0/NEMOTAM/OPATAM_SRC/TRA/trazdf_imp_tam.F90
r1885 r2587 74 74 & ahtw, & 75 75 & aht0 76 #if defined key_ldfslp 76 77 USE ldfslp , ONLY: & ! lateral physics: slope of diffusion 77 78 & wslpi, & !: i_slope at W-points 78 79 & wslpj !: j-slope at W-points 80 #endif 79 81 #if defined key_zdfddm 80 82 USE zdfddm , ONLY: & 81 83 & avs 82 84 #endif 85 USE traldf_tam 83 86 USE in_out_manager, ONLY: & ! I/O manager 84 87 & lwp, & … … 106 109 PUBLIC tra_zdf_imp_adj ! routine called by tra_zdf_adj.F90 107 110 PUBLIC tra_zdf_imp_adj_tst ! routine called by tst.F90 111 #if defined key_tst_tlm 108 112 PUBLIC tra_zdf_imp_tlm_tst ! routine called by tamtst.F90 113 #endif 109 114 110 115 !! * Substitutions … … 483 488 !!--------------------------------------------------------------------- 484 489 485 IF( kt == nit 000) THEN490 IF( kt == nitend ) THEN 486 491 IF(lwp)WRITE(numout,*) 487 492 IF(lwp)WRITE(numout,*) 'tra_zdf_imp_adj : implicit vertical mixing' 488 493 IF(lwp)WRITE(numout,*) '~~~~~~~~~~~~~~~ ' 494 CALL ldf_ctl_tam ! init of l_traldf_rot 489 495 zavi = 0._wp ! avoid warning at compilation phase when lk_ldfslp=F 490 496 ENDIF … … 985 991 986 992 END SUBROUTINE tra_zdf_imp_adj_tst 987 993 #if defined key_tst_tlm 988 994 SUBROUTINE tra_zdf_imp_tlm_tst( kumadt ) 989 995 !!----------------------------------------------------------------------- … … 1019 1025 USE tamtrj ! writing out state trajectory 1020 1026 USE par_tlm, ONLY: & 1027 & tlm_bch, & 1021 1028 & cur_loop, & 1022 1029 & h_ratio … … 1077 1084 CHARACTER(LEN=14) ::& 1078 1085 & cl_name 1079 CHARACTER (LEN=128) :: file_out, file_wop 1086 CHARACTER (LEN=128) :: file_out, file_wop, file_xdx 1080 1087 CHARACTER (LEN=90) :: & 1081 1088 & FMT … … 1126 1133 ! Output filename Xn=F(X0) 1127 1134 !-------------------------------------------------------------------- 1128 file_wop='trj_wop_trazdf_imp'1129 1135 CALL tlm_namrd 1130 1136 gamma = h_ratio 1137 file_wop='trj_wop_trazdf_imp' 1138 file_xdx='trj_xdx_trazdf_imp' 1131 1139 !-------------------------------------------------------------------- 1132 1140 ! Initialize the tangent input with random noise: dx … … 1169 1177 ! Complete Init for Direct 1170 1178 !------------------------------------------------------------------- 1171 CALL istate_p1179 IF ( tlm_bch /= 2 ) CALL istate_p 1172 1180 1173 1181 ! *** initialize the reference trajectory … … 1192 1200 ! Compute the direct model F(X0,t=n) = Xn 1193 1201 !-------------------------------------------------------------------- 1194 CALL tra_zdf_imp(nit000, rdttra) 1195 1196 IF ( cur_loop .EQ. 0) CALL trj_wri_spl(file_wop) 1197 1202 IF ( tlm_bch /= 2 ) CALL tra_zdf_imp(nit000, rdttra) 1203 IF ( tlm_bch == 0 ) CALL trj_wri_spl(file_wop) 1204 IF ( tlm_bch == 1 ) CALL trj_wri_spl(file_xdx) 1198 1205 !-------------------------------------------------------------------- 1199 1206 ! Compute the Tangent 1200 1207 !-------------------------------------------------------------------- 1201 IF ( cur_loop .NE. 0) THEN 1202 !-------------------------------------------------------------------- 1203 ! Storing data 1204 !-------------------------------------------------------------------- 1205 zta_out (:,:,:) = ta (:,:,:) 1206 zsa_out (:,:,:) = sa (:,:,:) 1208 IF ( tlm_bch == 2 ) THEN 1207 1209 !-------------------------------------------------------------------- 1208 1210 ! Initialize the tangent variables: dy^* = W dy … … 1235 1237 zta_wop (:,:,:) = ta (:,:,:) 1236 1238 zsa_wop (:,:,:) = sa (:,:,:) 1237 1239 CALL trj_rd_spl(file_xdx) 1240 zta_out (:,:,:) = ta (:,:,:) 1241 zsa_out (:,:,:) = sa (:,:,:) 1238 1242 !-------------------------------------------------------------------- 1239 1243 ! Compute the Linearization Error … … 1378 1382 END SUBROUTINE tra_zdf_imp_tlm_tst 1379 1383 #endif 1384 #endif 1380 1385 END MODULE trazdf_imp_tam
Note: See TracChangeset
for help on using the changeset viewer.