Changeset 3917
- Timestamp:
- 2013-06-12T23:04:27+02:00 (11 years ago)
- Location:
- branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.F90
r3294 r3917 35 35 REAL(wp), POINTER, DIMENSION(:,: ) :: localviscsponge 36 36 REAL(wp), POINTER, DIMENSION(:,: ) :: ztu, ztv 37 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab 37 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab4d 38 38 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: tsbdiff 39 39 40 40 #if defined SPONGE 41 41 CALL wrk_alloc( jpi, jpj, localviscsponge, ztu, ztv ) 42 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab , tsbdiff )42 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab4d, tsbdiff ) 43 43 44 44 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 46 46 Agrif_SpecialValue=0. 47 47 Agrif_UseSpecialValue = .TRUE. 48 ztab = 0.e049 CALL Agrif_Bc_Variable(ztab , tsa_id,calledweight=timecoeff,procname=interptsn)48 ztab4d = 0.e0 49 CALL Agrif_Bc_Variable(ztab4d, tsa_id,calledweight=timecoeff,procname=interptsn) 50 50 Agrif_UseSpecialValue = .FALSE. 51 51 52 tsbdiff(:,:,:,:) = tsb(:,:,:,:) - ztab (:,:,:,:)52 tsbdiff(:,:,:,:) = tsb(:,:,:,:) - ztab4d(:,:,:,:) 53 53 54 54 spongearea = 2 + 2 * Agrif_irhox() … … 148 148 149 149 CALL wrk_dealloc( jpi, jpj, localviscsponge, ztu, ztv ) 150 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab , tsbdiff )150 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab4d, tsbdiff ) 151 151 #endif 152 152 … … 166 166 REAL(wp), POINTER, DIMENSION(:,:,:) :: ubdiff, vbdiff 167 167 REAL(wp), POINTER, DIMENSION(:,:,:) :: rotdiff, hdivdiff 168 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab 168 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab3d 169 169 170 170 #if defined SPONGE 171 171 CALL wrk_alloc( jpi, jpj, localviscsponge ) 172 CALL wrk_alloc( jpi, jpj, jpk, ztab , ubdiff, vbdiff, rotdiff, hdivdiff )172 CALL wrk_alloc( jpi, jpj, jpk, ztab3d, ubdiff, vbdiff, rotdiff, hdivdiff ) 173 173 174 174 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 176 176 Agrif_SpecialValue=0. 177 177 Agrif_UseSpecialValue = ln_spc_dyn 178 ztab = 0.e0179 CALL Agrif_Bc_Variable(ztab , ua_id,calledweight=timecoeff,procname=interpun)178 ztab3d = 0.e0 179 CALL Agrif_Bc_Variable(ztab3d, ua_id,calledweight=timecoeff,procname=interpun) 180 180 Agrif_UseSpecialValue = .FALSE. 181 181 182 ubdiff(:,:,:) = (ub(:,:,:) - ztab (:,:,:))*umask(:,:,:)183 184 ztab = 0.e0182 ubdiff(:,:,:) = (ub(:,:,:) - ztab3d(:,:,:))*umask(:,:,:) 183 184 ztab3d = 0.e0 185 185 Agrif_SpecialValue=0. 186 186 Agrif_UseSpecialValue = ln_spc_dyn 187 CALL Agrif_Bc_Variable(ztab , va_id,calledweight=timecoeff,procname=interpvn)187 CALL Agrif_Bc_Variable(ztab3d, va_id,calledweight=timecoeff,procname=interpvn) 188 188 Agrif_UseSpecialValue = .FALSE. 189 189 190 vbdiff(:,:,:) = (vb(:,:,:) - ztab (:,:,:))*vmask(:,:,:)190 vbdiff(:,:,:) = (vb(:,:,:) - ztab3d(:,:,:))*vmask(:,:,:) 191 191 192 192 spongearea = 2 + 2 * Agrif_irhox() … … 318 318 ! ! =============== 319 319 CALL wrk_dealloc( jpi, jpj, localviscsponge ) 320 CALL wrk_dealloc( jpi, jpj, jpk, ztab , ubdiff, vbdiff, rotdiff, hdivdiff )320 CALL wrk_dealloc( jpi, jpj, jpk, ztab3d, ubdiff, vbdiff, rotdiff, hdivdiff ) 321 321 322 322 #endif -
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90
r3294 r3917 32 32 !! 33 33 INTEGER, INTENT(in) :: kt 34 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab 34 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab4d 35 35 36 36 37 37 IF((Agrif_NbStepint() .NE. (Agrif_irhot()-1)).AND.(kt /= 0)) RETURN 38 38 #if defined TWO_WAY 39 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab )39 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab4d ) 40 40 41 41 Agrif_UseSpecialValueInUpdate = .TRUE. … … 43 43 44 44 IF (MOD(nbcline,nbclineupdate) == 0) THEN 45 CALL Agrif_Update_Variable(ztab ,tsn_id, procname=updateTS)46 ELSE 47 CALL Agrif_Update_Variable(ztab ,tsn_id,locupdate=(/0,2/), procname=updateTS)45 CALL Agrif_Update_Variable(ztab4d,tsn_id, procname=updateTS) 46 ELSE 47 CALL Agrif_Update_Variable(ztab4d,tsn_id,locupdate=(/0,2/), procname=updateTS) 48 48 ENDIF 49 49 50 50 Agrif_UseSpecialValueInUpdate = .FALSE. 51 51 52 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab )52 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab4d ) 53 53 #endif 54 54 … … 62 62 INTEGER, INTENT(in) :: kt 63 63 REAL(wp), POINTER, DIMENSION(:,:) :: ztab2d 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab3d 65 65 66 66 … … 68 68 #if defined TWO_WAY 69 69 CALL wrk_alloc( jpi, jpj, ztab2d ) 70 CALL wrk_alloc( jpi, jpj, jpk, ztab 70 CALL wrk_alloc( jpi, jpj, jpk, ztab3d ) 71 71 72 72 IF (mod(nbcline,nbclineupdate) == 0) THEN 73 CALL Agrif_Update_Variable(ztab ,un_id,procname = updateU)74 CALL Agrif_Update_Variable(ztab ,vn_id,procname = updateV)75 ELSE 76 CALL Agrif_Update_Variable(ztab ,un_id,locupdate=(/0,1/),procname = updateU)77 CALL Agrif_Update_Variable(ztab ,vn_id,locupdate=(/0,1/),procname = updateV)73 CALL Agrif_Update_Variable(ztab3d,un_id,procname = updateU) 74 CALL Agrif_Update_Variable(ztab3d,vn_id,procname = updateV) 75 ELSE 76 CALL Agrif_Update_Variable(ztab3d,un_id,locupdate=(/0,1/),procname = updateU) 77 CALL Agrif_Update_Variable(ztab3d,vn_id,locupdate=(/0,1/),procname = updateV) 78 78 ENDIF 79 79 … … 89 89 90 90 CALL wrk_dealloc( jpi, jpj, ztab2d ) 91 CALL wrk_dealloc( jpi, jpj, jpk, ztab 91 CALL wrk_dealloc( jpi, jpj, jpk, ztab3d ) 92 92 93 93 !Done in step -
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC/agrif_top_sponge.F90
r3294 r3917 36 36 REAL(wp) :: ztra, zabe1, zabe2, zbtr 37 37 REAL(wp), POINTER, DIMENSION(:,:) :: localviscsponge 38 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: trbdiff, ztru, ztrv, ztab 38 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: trbdiff, ztru, ztrv, ztab4d 39 39 40 40 #if defined SPONGE_TOP 41 41 CALL wrk_alloc( jpi, jpj, localviscsponge ) 42 CALL wrk_alloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab )42 CALL wrk_alloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab4d ) 43 43 44 44 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 46 46 Agrif_SpecialValue=0. 47 47 Agrif_UseSpecialValue = .TRUE. 48 ztab = 0.e049 CALL Agrif_Bc_Variable(ztab , tra_id,calledweight=timecoeff,procname=interptrn)48 ztab4d = 0.e0 49 CALL Agrif_Bc_Variable(ztab4d, tra_id,calledweight=timecoeff,procname=interptrn) 50 50 Agrif_UseSpecialValue = .FALSE. 51 51 52 trbdiff(:,:,:,:) = trb(:,:,:,:) - ztab (:,:,:,:)52 trbdiff(:,:,:,:) = trb(:,:,:,:) - ztab4d(:,:,:,:) 53 53 54 54 spongearea = 2 + 2 * Agrif_irhox() … … 147 147 148 148 CALL wrk_dealloc( jpi, jpj, localviscsponge ) 149 CALL wrk_dealloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab )149 CALL wrk_dealloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab4d ) 150 150 151 151 #endif
Note: See TracChangeset
for help on using the changeset viewer.